When reading about web servers, frameworks, etc most of the time I notice that the goal is to have a technology that has the next features:
- Able to handle as many connections as possible.
- Fit an I/O model (connections to DBs and other web services).
Those features fit the actual web model but I am interested in knowing which technologies will fit a heavy-cpu user case.
For example, Node.js is a technology that really shines when you have to write an application that uses a lot of I/O. On the other hand, due to the Node.js nature of being evented, It is not suitable for being use in CPU-heavy user cases.(video encoding, machine learning, graphics)
I also have take a look at Haskell web frameworks like Snap and Warp and at the benchmarks they really are fast.
Are they Haskell web frameworks suitable for CPU-heavy problem? Which other languages/technologies are candidates?