other link : https://code.fb.com/data-infrastructure/accelerate-large-sca...
This is the same reason why Facebook invested into their own PHP compiler and Google created Go.
How is this even possible? Doesn’t this mean that there’s probably just some inefficient or unoptimized compiler settings?
I'm curious if it modifies the original binary.
While nowhere near as nice as real profile guided optimization (and likely to grow stale over time), these attributes are much easier to insert compared to fighting with whatever build toolchain you’re using.
https://github.com/facebookincubator/BOLT/tree/master/src/Pa...
e.g. https://github.com/facebookincubator/BOLT/blob/master/src/Pa...
But really, people don’t appreciate that icache and iTLB misses are absolutely crucial to real-world performance. The cache is everything. Code layout makes a massive difference (regarding other comments I’ve made here lately, this is another reason to hate shared libraries).
Now it’s properly released.
Only ninja -j1 helped. My other llvm builds always succeeded the old way: cmake && make -s -j16