On Thursday, 3 April 2014 at 01:55:48 UTC, Andrei Alexandrescu
A lot of them could apply to us as well.
He's got a point in mentioning things like "def equals(x: Any):
Boolean" and "def compare(x: T, y: T): Int" (although the latter
is not the worst problem I can think of). But the real message is
to me what is said starting from 24:20:
"There remain those periodic stepwise jumps in performance taking
place in the compiler. ... There is a factor of 10 lying around.
It's that bad.
It's so hart to pinpoint what is doing what and why that ain't
nothing possible to modify. You can't make it fast if you can't
So build time performance problems in Scala is not simply because
the language has so many more features than Java. There are real
problems in the compiler. What was done in D was to "stabilize" D
and call it D1 and then start on D2. I think this was a wise
thing to do. Maybe for the Scala compiler guys it's time to
stabilize Scala and call it Scala1 and start with Scala2.