Performance issues

Pondering the Minecraft Education Edition news

26 Jan '16

This post does contain Minecraft, I promise.

An (old) post is about a tool that was rewritten from Python to OCaml. Aparently, “the take-away is this: The new code is a similar length (slightly shorter), runs around 10x faster, and is statically type checked.”

So it must have run really slow to make it worth it?

The first graph on the page seems to suggest yes. Finally, after 6 months, the results were in, and are quite clear:

Test Python 3 OCaml Speed-up
0install --help 103 ms 8 ms 12.9
0install select 0repo 322 ms 38 ms 8.5
0install run -w echo armagetron 120 ms 15 ms 8.0
0install run armagetron --version 153 ms 45 ms 3.4

table from Python to OCaml: Retrospective

The median speed-up is about 8x, so surely this was totally worth it?

To be completely accurate, the median speed-up of these examples is 8.25, in practice it could be close to 10. And, if you’re a business with several thousand web-requests, then saving execution time is worth $$$, and also might let you scale better, so it’s probably worth paying a programmer or two to do this.

On the other hand, 322ms is 0.322 seconds (metric ftw), or as Wolfram Alpha informs me about the “average length of a human blink of an eye (100 to 400 ms)”. I’m not convinced this was worth it for a CLI tool used primarily by humans [citation needed].

Now this sounds pretty negative. And to be fair, one of the goals was “learning OCaml along the way”. But even on Hackernews, only one guy seems to have pointed the drawbacks out, and received down-voting for being spot on:

[…] The slowest metric for the old code is about 1/3 of a second — how much benefit does slicing that deliver in real world 0install invocations? “Easier to maintain and extend” — well, he just cut the population of potential contributors to the project by a factor of 1000.

spenrose on Hackernews

I bring this up, because apparently the Minecraft: Education Edition will be written in C++. And while I’m not going to defend the Minecraft codebase or Java, part of the long-time draw of Minecraft are the mods. Even if most modders decide to make the jump, some won’t and the community will be worse off.

Having said that, a performance increase would be great of the Raspberry Pi, but currently, it also looks like only Windows will be supported.

This is all if unlicensed, 3rd party mods will be allowed on the Education Edition. Maybe such amateur mods will be restricted to the Community Edition, for some bizzare reason. Can’t have people exposed to that hacker ethic, they might learn something venturing outside the walled garden. Will someone think of the kids™!

In short, it’s hard to see how this is going to turn into the great educational message(s) Microsoft is hoping to send(?). I am skeptical, but then I am also a bit cynical, apparently.

Python, Minecraft

Newer Older