Humble benchmark (fisher's exact test)

russhy russhy at gmail.com
Tue Aug 24 21:39:38 UTC 2021


On Tuesday, 24 August 2021 at 20:00:06 UTC, Paulo Pinto wrote:
> 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.

Android is the worst of all

A compiler in a supposed resource constrained device that runs on 
a limited power source (battery), good on Apple to forbid JIT in 
their store one of their best move




More information about the Digitalmars-d mailing list