I know they&#x27;re native threads, they&#x27;re lightweight compared to unix processes.  You&#x27;re trying to change the subject to CPU performance during context switch when what we were discussing in memory consumption.<p>The memory overhead of a MRI ruby process running on linux is much higher than the overhead of a native JRuby thread, they are apples and oranges, surely we agree on that point because you can check it via a simple ps aux command.<p>Perhaps I am mistaken, but from what I&#x27;ve read to run unicorn following their recommended guidelines you need to spawn at least 1 MRI process for every CPU core, but if your application blocks on IO rather than CPU during it&#x27;s request cycle which is common then you will need more  processes than CPU cores in order to handle concurrent HTTP requests.  At that point you&#x27;re wasting many orders of magnitude more memory than JRuby for every &quot;unit of concurrency&quot; so to speak.<p>by the way Kotlin looks interesting, thanks for pointing it out I was not familiar