qinguoyi / TinyWebServer

:fire: Linux下C++轻量级WebServer服务器
Apache License 2.0
16.89k stars 3.96k forks source link

Evaluate Profile-Guided Optimization (PGO) and LLVM BOLT #247

Open zamazan4ik opened 1 year ago

zamazan4ik commented 1 year ago

Hi!

Recently I did many Profile-Guided Optimization (PGO) benchmarks on multiple projects - the results are available here. Also, I already tested PGO on similar workloads:

So that's why I think it's worth trying to apply PGO to TinyWebServer.

I can suggest the following things to do:

Here are some PGO integration examples in the existing build scripts in other projects:

Some PGO documentation examples:

After PGO, I can suggest evaluating LLVM BOLT as an additional optimization step after PGO.