facebookarchive / BOLT

Binary Optimization and Layout Tool - A linux command-line utility used for optimizing performance of binaries
2.51k stars 177 forks source link

How to apply BOLT optimization on Sysbench benchmarks? #282

Closed ZahraHeydari95 closed 2 years ago

ZahraHeydari95 commented 2 years ago

I want to apply BOLT Optimizer to all benchmarks of Sysbench tool. But I do not know how to do this to do all the steps of the BOLT on it according to the steps in Redmi GitHub?

The benchmarks in question are from the Sysbench: cpu, memory, fileio, threads, mutex, OLTP benchmarks.

https://github.com/akopytov/sysbench

Please guide me Thanks

my problem (for example):

zahra@zahra:~/build/bin$ ./perf2bolt -p ../../bolt/perf.data -o ../../bolt/perf.fdata ./../../sysbench-1.0.20/src/sysbench --test=cpu --cpu-max-prime=200000 run perf2bolt: Unknown command line argument '--test=cpu'. Try: './perf2bolt --help' perf2bolt: Did you mean '--o=cpu'? perf2bolt: Unknown command line argument '--cpu-max-prime=200000'. Try: './perf2bolt --help' perf2bolt: Did you mean '--max-samples=200000'?

aaupov commented 2 years ago

Hello Zahra,

Please use the following command to record the profile while running the benchmark:

perf record -e cycles:u -j any,u -o perf.data --

You can then pass the recorded perf.data directly to llvm-bolt, skipping perf2bolt step.

Please refer to the following guide: https://github.com/llvm/llvm-project/tree/main/bolt#step-3-optimize-with-bolt