3 ms·
Great write-up, brandur! Actix has definitely deployed a broad suite of optimizations. When we posted Round 17 of our Framework Benchmarks, we wrote [1] about
by bhauer 7y ago
Great write-up, brandur!
Actix has definitely deployed a broad suite of optimizations. When we posted Round 17 of our Framework Benchmarks, we wrote [1] about the stratified Fortunes results and attributed it in large part to our agreement to support the pipelining feature of PostgreSQL's protocol.
We had a conversation with the community about pipelined Postgres [2] when it was initially brought to our attention. Initially, we were opposed because it had a smell of cheating. However, after the dialog on the mailing list and several internal conversations, we remembered that one of the reasons we created the project was to encourage friendly competition, yield higher-performance platforms and frameworks, and ultimately benefit the application developers who use those frameworks. In that light, this form of optimization is exactly what we wanted to see (whether or not its genesis actually traces to this project). We want to see such creative ways to reduce the overhead of frameworks, leaving more CPU capacity to the discretion of the application developer.
As long as they continue to live up to the spirit of our tests, of course. We believed this did live up to the spirit of our tests because these optimizations did not require the application developer to do anything to reap the benefit--they just run queries as usual.
And then there's that SIMD HTML escaping, which I admit kinda blew my mind.
[1] https://www.techempower.com/blog/2018/10/30/framework-benchmarks-round-17/ https://www.techempower.com/blog/2018/10/30/framework-benchm...
[2] https://groups.google.com/d/topic/framework-benchmarks/Kbd2No7xrv8/discussion https://groups.google.com/d/topic/framework-benchmarks/Kbd2N...