Cutelyst 0.3.0 is now C10K ready!
Release early, release often has never been my strength especially since I don’t do a fair scheduling of all the projects I’m involved…
So since I was in need to better polish Cutelyst I took more time on it, and the result is great, around 100% speed up and a few new features added.
Cutelyst uWSGI plugin now has support for –thread, which will create a QThread to process a request, however I strongly discourage its usage in Cutelyst, the performance is ~7% inferior and a crash in your code will break other requests, and as of now ASYNC mode is not supported in threaded mode due to a limitation in uWSGI request queue.
Thanks to valgrind I managed to make a hello world application from 5K request per second on 0.2.0 to 10K req/s on 0.3.0 on an Intel Core2Duo 2.4Ghz (or 44K req/s on an AMD Phenom II 965 x4 3.4Ghz), however if you enable Grantlee templating you get around 600 req/s so if I happen to have time I will be looking into improving its performance.
Response::body() is now a QIODevice so you can set a QFile* of something else and have Cutelyst to send it back.
The 0.3.0 tarball can be downloaded here
Have fun :)