Skip to content

Profile-Guided Optimization (PGO) results #510

Open
@zamazan4ik

Description

@zamazan4ik

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions