Создание потока затратная операция, лучше всегда иметь пул (если вы можете примерно прикинуть сколько необходимо потоков, то FixedThreadPool, если нет, то позвольте JVM самой выбрать и используйте CachedThreadPool). По поводу inline-methods, уже миллион раз обсуждалось, JVM довольная умна, чтобы решить, нужно ли инлайнить методы, нужно только ее прогреть. Инфу можно почерпнуть
отсюда. Если быть конкретнее, то вот этот абзац:
Method Inlining
The frequency of virtual method invocations in the Java programming language is an important optimization bottleneck. Once the Java HotSpot adaptive optimizer has gathered information during execution about program hot spots, it not only compiles the hot spot into native code, but also performs extensive method inlining on that code.
Inlining has important benefits. It dramatically reduces the dynamic frequency of method invocations, which saves the time needed to perform those method invocations. But even more importantly, inlining produces much larger blocks of code for the optimizer to work on. This creates a situation that significantly increases the effectiveness of traditional compiler optimizations, overcoming a major obstacle to increased Java programming language performance.
Inlining is synergistic with other code optimizations, because it makes them more effective. As the Java HotSpot compiler matures, the ability to operate on large, inlined blocks of code will open the door to a host of even more advanced optimizations in the future.
Если ваша задача выполняется без блоков/прерываний на ожидания внешних действий, то повлиять на работу процессора/JVM и всего прочего вы не сможете, предлагаю в этом случае забыть о процессорах/регистрах/etc.
По остальному, почитайте документацию, узнаете "что во что" компилируется и как работает, описывать это здесь - долго.
Удачи.