3 ms·
indeed. I think the second optimization on the list is super-instructions: frequent combinations of 2 (or even 3) instructions are transformed into 1 equivalent
by toolslive 8y ago
indeed. I think the second optimization on the list is super-instructions: frequent combinations of 2 (or even 3) instructions are transformed into 1 equivalent instruction, lowering the average cycle count.
- tonyjstark 8y agoWhere can I learn about techniques like that? Any recommendation would be very appreciated!
- vkazanov 8y agoThose techniques are a relatively niche thing. People don't write bytecode interpreters daily. Couple of months ago I wrote a few articles on the topic. Unfortunately, they are in Russian. I'll probably translate 'em at some but for now... the repo and performance measurements are on Github[1]. It includes a couple of dispatch techniques, register caching, etc. [1]: https://github.com/vkazanov/bytecode-interpreters-post https://github.com/vkazanov/bytecode-interpreters-post
- toolslive 8y agoarticle below contains an overview and more pointers. http://realityforge.org/code/virtual-machines/2011/05/19/interpreters.html http://realityforge.org/code/virtual-machines/2011/05/19/int...
- tom_mellior 8y agoLook up work by Stefan Brunthaler, like this overview paper ("Virtual-Machine Abstraction and Optimization Techniques"): https://www.sba-research.org/wp-content/uploads/publications/bytecode09.pdf https://www.sba-research.org/wp-content/uploads/publications... Make sure to check out the references. I especially like "Ertl, M. A. and D. Gregg, The structure and performance of efficient interpreters, Journal of Instruction-Level Parallelism 5 (2003)"
- yazr 8y agoThere goes the weekend... Do you know of any recent efforts to combine ML and VM optimizations ? (I read about the VS compiler and profile-based optimizations)
- tom_mellior 8y agoThis one is good: http://www.tara.tcd.ie/bitstream/handle/2262/64047/Optimizing%20Interpreters%20by%20Tuning%20Opcode%20Orderings%20%20on%20Virtual%20Machines%20for%20Modern%20Architectures.pdf;sequence=1 http://www.tara.tcd.ie/bitstream/handle/2262/64047/Optimizin... Though you might not think of hill climbing as "machine learning".