Humble benchmark (fisher's exact test)

Paulo Pinto pjmlp at progtools.org
Tue Aug 24 20:00:06 UTC 2021


On Tuesday, 24 August 2021 at 09:29:03 UTC, Bienlein wrote:
> On Monday, 23 August 2021 at 22:27:02 UTC, russhy wrote:
>> On Monday, 23 August 2021 at 22:06:39 UTC, bachmeier wrote:
>>> On Monday, 23 August 2021 at 17:35:59 UTC, russhy wrote:
>>>
>>>> JIT isn't something you want if you need fast execution time
>>>
>>> ?
>>>
>>> I suppose they spent all those hours writing their JIT 
>>> compilers because they had nothing else to do with their time.
>>
>> that's why they are now spending their time writing an AOT 
>> compiler after GO started to ate their cake ;)
>
> AOT in C#/Java is only to speed up startup times. It doesn't 
> make anything faster, see 
> https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharpcore-csharpaot.html


That doesn't use all AOT options available to C# and Java.

C# has Xamarin AOT (for Android and iOS), IL2CPP used by Unity 
and Burst compiler, UWP .NET Native, Windows 8 Bartok, and 
several community projects.

Full AOT on regular .NET is coming in .NET 6 with final touches 
in .NET 7.

Regarding Java, like C and C++, there are plenty of 
implementations to choose from, a couple of commercial JDKs with 
proper AOT.

Then both OpenJDK and OpenJ9 do JIT cache between runs, which 
gets improved each time the application runs thanks PGO profiles.

OpenJ9 and Azul go one step further by having AOT/JIT compiler 
daemons that generates native code with PGO data from the whole 
cluster.

Finally Android, despite not being really Java, uses an hand 
written Assembly interpreter for fast startup, then JIT, and when 
the device is idle, the JIT code gets AOT compiled with PGO 
gathered during each run. Starting with Android 10 the PGO 
profiles are shared across devices via the play store, so that 
AOT compilation can be done right away skipping the whole 
interpreter/JIT step.

Really, the benchmarks game is a joke, because they only use the 
basic FOSS tooling available to them.

And after 25/20 years apparently plenty still don't know Java and 
.NET ecosystems as they should.


More information about the Digitalmars-d mailing list