zenchmarks icon indicating copy to clipboard operation
zenchmarks copied to clipboard

Include Japronto on the benchmarks

Open santagada opened this issue 9 years ago • 3 comments

As you created both I though this ticket was pertinent :). Thanks for your work on both projects.

santagada avatar Mar 03 '17 09:03 santagada

I'm holding my breath here. The purpose of the whole thing was testing how well PyPy does remove the overhead of pure Python implementation of asyncio and other similar solutions. If I start throwing in more stuff it becomes a little messy. I tested Sanic though apart (on a different load) and the results are here: https://twitter.com/squeaky_pl/status/837687713553874944

For Japronto I really want to wait until I figure out the best way to run/port it to PyPy. Then I'm gonna share results for sure.

squeaky-pl avatar Mar 03 '17 21:03 squeaky-pl

I think the two main options are cffi and porting picohttpparser to python right? Good luck with any, both seems fun (porting picohttpparser to python would maybe the the fastest on pypy).

santagada avatar Mar 04 '17 13:03 santagada

Yes. This is not as simple as chosing a tool. Especially for a tracing JIT. It's a lot of R&D work because you have to carefully balance between what you rewrite in Python and what stays in C. Currently as is Japronto is 90% C. Maintaing decent speeds on CPython and getting speeds up on PyPy is challenging because they are so different, it also raises many maintainability problems and code duplication issues. I am experimenting with my own tooling to do so at the moment.

squeaky-pl avatar Mar 04 '17 14:03 squeaky-pl