1. 20

Here’s part two of Laurie’s blog post (I posted part 1 last week: https://lobste.rs/s/5rdd28/why_aren_t_more_users_more_happy_with_our).

    1. 4

      It would be interesting to see this analysis on the Dart VM. As far as I understand, the motivation for Dart was that v8 necessarily had unpredictable performance. There was no way around this while maintaining the quirky ECMAScript semantics. So they (Lars Bak and others) purposely designed Dart without those pitfalls.

      In other words, none of the languages here were originally designed for a JIT – Python / PyPy, Java / HotSpot, v8 / JavaScript, etc. So I’d be curious if you can do better by designing the language for the JIT.

      It seems like the “lack of warmup / convergence” issue here is basically synonymous with unpredictable performance.

      1. 3

        I’d also be very interested in similar analysis for Mono, .NET Core, and the Windows version of the .NET VM.

        C# was very much built with a JIT in mind, at least at the compiler/codegen level, and probably some at the language level as well (for example, giving a bit more control over allocations than Java typically has)

      2. 3

        These articles have been very interesting reading, especially the suggestion of shifting from peak performance to predictable performance, though since it’s that much harder to make sure performance is predictable, it’ll be interesting to see if anything good comes out of that.

      🇬🇧 The UK geoblock is lifted, hopefully permanently.