Some of these languages provide parallelism and others don't.
For Crystal, if you have a multicore system, you need to run multiple processes (1 per core) with reuse port enabled to take advantage of them.
I think the parallelism is a language level feature.
Reusing port and running multiple processes on it is a OS level feature.
If crystal supports the parallelism in language level, I will tune each framework.
For Crystal, if you have a multicore system, you need to run multiple processes (1 per core) with reuse port enabled to take advantage of them.
Wait what why? Does crystal really not have threading?! o.O
That would explain why it does so much worse than even elixir on my multicore server tests...
Not yet. It's planned for 1.0 but for now, you can use reuse port flag.
I'll try to make Puma use all CPU cores for Ruby frameworks.
@AlexWayfer Ping me when a PR is submitted and I'll run the tests. :-)
as in #239 @OvermindDL1 noticed SO_REUSEPORT SHOULD be used
@drujensen @tbrand Parallelism has been introduced in crystal
https://crystal-lang.org/2019/09/06/parallelism-in-crystal.html
It will be a pleasure to enable this feature in here
Ooo nice! That was one huge feature that crystal was lacking!
Most helpful comment
Not yet. It's planned for 1.0 but for now, you can use reuse port flag.