We use all of those, including also:  - Forcing inlining like crazy to avoid methods calls   - Using goto's to build "sub-routines" avoiding the cost of the call and the size of the multiple instances of inlining on big methods.   Examples of the result: https://ayende.com/blog/177569/why-we-arent-publishing-benchmarks-for-ravendb-4-0-yet  