godot-benchmarks icon indicating copy to clipboard operation
godot-benchmarks copied to clipboard

Add OS distribution, C/C++ compiler and linker version to benchmark results

Open Calinou opened this issue 3 months ago • 2 comments

This information is now stored for new benchmarks.

Note that it's calculated at run-time using the same compiler/linker as used in production, since this information isn't stored at compile-time in the binary. (https://github.com/godotengine/godot/pull/98845 implements this feature.)

Currently, existing benchmarks will display Linux for the OS and (unknown) for the compiler/linker. I could modify the existing result files to update the distro/compiler/linker information based on the run dates (to roughly match the latest Fedora version available at the time, as well as GCC/LD from its repositories). That said, doing so would be an approximation so it may be best to leave things as-is, especially since I don't remember the exact dates at which I upgraded the server.

  • This closes https://github.com/godotengine/godot-benchmarks/issues/112 and closes https://github.com/godotengine/godot-benchmarks/issues/113.

Preview

Screenshot_20251003_164730

Calinou avatar Oct 03 '25 14:10 Calinou

Given that the information how the binary is built is most available in the build script, I'd like to propose passing it to the engine somehow from there. It might be possible to ask SCons to hand this information out. While it's less convenient, it's also more correct, since the .gd file doesn't really know how the engine that's currently running was built (unless we do add an API for it).

This is what https://github.com/godotengine/godot/pull/98845 implements, but I don't know when it'll be merged.

What I could do in the meantime is make run-benchmarks.sh write a file next to the binary that the benchmarks project reads. That said, if https://github.com/godotengine/godot/pull/98845 is going to be merged soon, it might not be worth the trouble.

Calinou avatar Oct 07 '25 22:10 Calinou

Your second suggestion is what I meant (pass the information explicitly from run-benchmarks.sh). But I suppose it also doesn't matter that much since the benchmark join script is only executed on the benchmarking server anyway, where the information should be correct.

Ivorforce avatar Oct 30 '25 17:10 Ivorforce