evenfurther / pathfinding

Pathfinding library for rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Profile-Guided Optimization (PGO) results

zamazan4ik opened this issue · comments

Hi!

In this issue I want to report Profile-Guided Optimization (PGO) results on pathfinding algorithms performance. I performed some tests and want to share my results here.

Test environment

  • Fedora 39
  • Linux kernel 6.6.9
  • AMD Ryzen 9 5900x
  • 48 Gib RAM
  • SSD Samsung 980 Pro 2 Tib
  • Compiler - Rustc 1.75
  • NativeDB version: the latest for now from the main branch on commit b8e156ef782828cc6992f499f0596f05ed6c2946
  • Disabled Turbo boost (for more stable results across benchmark runs)

Benchmark

For benchmark purposes, I use this benchmark with cargo bench command. For PGO optimization I use cargo-pgo tool. The same benchmark suite was used for the PGO training phase built with cargo pgo bench. PGO optimized results I got with cargo pgo optimize bench.

Results

I got the following results:

At least according to the results above, PGO helps with achieving better overall performance with pathfinding algorithms. However, in one case, "separate_components", there is a huge regression - it needs to be investigated deeper.

Please treat the issue just as a benchmark report - not like an actual issue. I created it here just because the discussions are not enabled.