Great. Unfortunately the English version is missing most of the algorithms (or it hasn’t been written yet).
Of course nothing can be complete, but I had the following pieces of feedback (plan on opening a GitHub issue later):
The compiler flags section is missing the following:
* Os - optimize for size
* LTO
* Compiling -ffunction-section -fdata-sections & then linking with —-gc-sections (arguably this one just reduces the size of the binary through dead code elimination)
Other:
PGO should probably be mentioned in the flags and targets section as “we’ll describe this in situational optimizations“ (not sure why it’s written there but whatever).
AutoFDO isn’t discussed which is important since it makes running FDO actually feasible in production.
Cold annotations and hot/cold code splitting (hot/cold code splitting isn’t even discussed).
The Russian version is more about algorithm design 101 and 102 (similar to cp-algorithms.com). I used to do competitive programming, and I co-founded an educational nonprofit where I also taught it for a few years. I organized my lecture notes and put it on a website, which is now used as a textbook by most CS students in Russian-speaking countries.
I do intend to translate it someday, but it has nothing to do with performance engineering :)
Of course nothing can be complete, but I had the following pieces of feedback (plan on opening a GitHub issue later):
The compiler flags section is missing the following:
* Os - optimize for size
* LTO
* Compiling -ffunction-section -fdata-sections & then linking with —-gc-sections (arguably this one just reduces the size of the binary through dead code elimination)
Other:
PGO should probably be mentioned in the flags and targets section as “we’ll describe this in situational optimizations“ (not sure why it’s written there but whatever).
AutoFDO isn’t discussed which is important since it makes running FDO actually feasible in production.
Cold annotations and hot/cold code splitting (hot/cold code splitting isn’t even discussed).