mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-20 00:20:47 +00:00
The Intel Optimizaton Manual states that branches with relative offsets greater than 2GB suffer a penalty. They cite a 6% improvement when this is avoided. Our code doesn't rely heavily on dynamically linked libraries, so I don't expect a similar win, but it's still better to do it than not. Eliminate long branches by asking the dynamic linker to restrict itself to the lower 4GB of the address space. I saw that it maps libraries at 1GB+ addresses, so this satisfies the limitation. Fix is from the Intel Optimization Manual as well. This change was ported from ScyllaDB Enterprise. Closes scylladb/scylladb#22498