juner / BurstBenchmarks

Benchmarking Burst/IL2CPP against GCC/Clang machine code

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BurstBenchmarks

The author of the original repo this one was forked from, Stanislav "nxrighthere" Denisov, was curious how well Burst/IL2CPP optimizes C# code against GCC/Clang with C, and ported five famous benchmarks, plus a raytracer, a minified flocking simulation, particle kinematics, a stream cipher, a hashing algorithm, and radix sort, with different workloads and made them identical between the two languages.

I, in turn, updated this code for later versions of Unity and .NET wherever incompatibilities appeared, and re-ran the benchmarks to see how performance in the various testing environments improved or regressed.

The logic acquires one core of the CPU from startup to the end. Do not perform any actions while the benchmarks are running and wait until the process is complete.

This original project was donated to Unity's Burst compiler team as a performance test-suite to identify inconsistencies in the generated machine code in comparison to other compilers.

Benchmark results may be found in the benchmark_results_ folders.

About

Benchmarking Burst/IL2CPP against GCC/Clang machine code

License:Creative Commons Zero v1.0 Universal


Languages

Language:C# 76.3%Language:C 23.5%Language:Shell 0.2%Language:Batchfile 0.0%