3 ms·
There's no need for another build as BOLT runs directly on a compiled binary, and could be integrated into an existing build system. Operating directly on a mac
by maxpan 8y ago
There's no need for another build as BOLT runs directly on a compiled binary, and could be integrated into an existing build system. Operating directly on a machine code allows BOLT to boost performance on top of AutoFDO/PGO and LTO. Processing the binary directly requires a profile in a format different from what a compiler expects, as the compiler operates on source code and needs to attribute the profile to high-level constructs.
- nwmcsween 8y agoSo what exactly would BOLT help with? I'm guessing mainly junky code or things a compiler cannot possibly optimize. Could you run BOLT on something that is known to be be well optimized?
- maxpan 8y agoBOLT can optimize the compiler itself. Either GCC or Clang.
- iforgotpassword 8y agoI'm headed to work now but I'll try opera 12 and the oracle JVM later. As for the latter, I'm curious as to how much the running application will influence the final optimizations applied. Since you used it on hhvm, did you see anything interesting regarding this, or does of always optimize towards the same optimal layout?
- AboutTheWhisles 8y agoIf BOLT can work directly on binaries, is there anything stopping it from being integrated as a kernel module into the OS, so that binaries are continually being profiled and optimized? It seems to me that an optimized OS image could be also be created.
- ebikelaw 8y agoThat doesn't seem like it would be profitable. Profiling the running process, processing the profile, and then relinking the binary on a single host wouldn't pay off compared to profiling in the large, relinking the program once and redeploying it at scale. Peak optimization is expensive.
- AboutTheWhisles 8y agoFirst, if it worked without intervention it could be used on desktop and mobile OSs, not just servers. Second, I already mentioned what you suggested.
- ebikelaw 8y agoRelinking binaries running on a phone sounds even less profitable. How much battery energy are you willing to waste here?
- AboutTheWhisles 8y agoYou seem awfully desperate to guess at the limitations of a technique you knew nothing about a day ago.
- CyberDildonics 8y agoThis isn't a linker, so there is no re-linking. > even less profitable What does this mean? If a company like google restructured their binaries to get a 15% speedup, that would be huge. > How much battery energy are you willing to waste here? What waste is happening? This doesn't have to happen on the phone. Even then, android already does optimization passes when phones are plugged in.
- sliken 8y agoMy phone runs approximately zero new binaries every day. I'd happily let my phone optimize itself while charging so that netflix, youtube, or other heavy CPU users use less battery.
- AboutTheWhisles 8y agoCan BOLT optimize a shared library as well?