Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include Japronto on the benchmarks #7

Open
santagada opened this issue Mar 3, 2017 · 3 comments
Open

Include Japronto on the benchmarks #7

santagada opened this issue Mar 3, 2017 · 3 comments

Comments

@santagada
Copy link

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

@squeaky-pl
Copy link
Owner

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.

@santagada
Copy link
Author

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).

@squeaky-pl
Copy link
Owner

squeaky-pl commented Mar 4, 2017

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants