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