You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I suggest enabling more optimizations for the project that can help with achieving better performance and binary size of the project:
Link-Time Optimization (LTO). I've searched over the build scripts but I didn't find a place where it's enabled (maybe I am wrong). This optimization is supported by all major C++ compilers and can be enabled even via a CMake flags
Profile-Guided Optimization (PGO). According to my multiple tests, this optimization is specifically useful for various parsing routines, etc. It definitely is worth giving it a try and measuring performance gains from PGO for clp. PGO is also supported by all major C++ compilers like GCC, Clang, MSVC
Post-Link Optimization (PLO) via tools like LLVM BOLT. This optimization can help to optimize clp better even after applying PGO.
Possible implementation
I think LTO can be quite easily enabled on the CMake level.
Regarding PGO at first, I recommend performing some kind of benchmarking with it on different real-world scenarios. And only if it shows improvement - integrate it in some way into the project. E.g. it also can be done via an option in the build scripts.
PLO I recommend enabling only after PGO since PGO has much fewer possible limitations compared to PLO.
The text was updated successfully, but these errors were encountered:
Request
I suggest enabling more optimizations for the project that can help with achieving better performance and binary size of the project:
clp
. PGO is also supported by all major C++ compilers like GCC, Clang, MSVCclp
better even after applying PGO.Possible implementation
I think LTO can be quite easily enabled on the CMake level.
Regarding PGO at first, I recommend performing some kind of benchmarking with it on different real-world scenarios. And only if it shows improvement - integrate it in some way into the project. E.g. it also can be done via an option in the build scripts.
PLO I recommend enabling only after PGO since PGO has much fewer possible limitations compared to PLO.
The text was updated successfully, but these errors were encountered: