This report compares the startup performance of paint.net version 5.0.3
against dotnet version 8.0.0-preview.4.23259.5
. The application was ran on Intel and Ampere machines. To make sure we are doing a comparable measurements, the application was started by affinitizing the number of cores.
For x64, it was set to 0x5555
and for arm64, it was set to 0xFF
. They both were ran using start /AFFINITY <mask> /WAIT dotnet.exe paintdotnet.dll
. There are PaintDotnetTrace
events that are logged. I used PerfView to profile the application and then studied the call stack between Started
(first line of the Main()
method) and Ready
(all data-structures are initialized) events. The measurements are taken on Intel Cascade lake (x64) and Ampere (arm4) machine.
You will see lot of screenshots of callstack. In all of them, left side indicates x64 profile and right indicates arm64 profile.
- [TL