-
Notifications
You must be signed in to change notification settings - Fork 194
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
Speed up serialization and deserialization using Rust #258
base: main
Are you sure you want to change the base?
Conversation
@thedrow this is interesting. I have recently done speed up of serialization using cython in pure mode. I haven't time to measure the performance but I can create WIP pull request to compare with your approach if you want. |
@matusvalo this is what I was looking for on the internet lately. you could proceed with that |
@auvipy I will create a WIP PR for that so you review it. But, I need it rebase with master. Stay tuned. |
@matusvalo If you'd like to collaborate, let's chat sometime soon. |
It seems like a better approach would be to avoid crossing the Python barrier when deserializing. |
@thedrow I have sent you an e-mail directly. I am not much social on the internet so I don't have much accounts on social networks but if you want pick some possible chat and I can create account if needed. |
ba49c9e
to
7a0b59e
Compare
As of now, the Rust extension is compiled in CI! I have a problem with strings inside arrays and tables. |
cff2881
to
cd810b1
Compare
Seems like there's a problem with the tox plugin I made for Python 3.4 and Python 3.5. |
b2ad6ce
to
154f44d
Compare
The only thing left besides fixing tox-pyo3, is a failing integration test. |
Oh wait. That's not it. |
well, what about rustpython? |
That's completely different. It's a Python interpreter like PyPy and CPython. |
This doesn't happen to me locally: |
Sentry also uses Rust in combination with Python. Here are a few resources if you're not aware of that:
I'm not affiliated with them. I just saw one of the talks once and though it could help. :) |
So far this is a HUGE win:
This is a release build. A development may be slower. |
@thedrow this is great result. What test did you run? I would like to repeat it also against cythonized version just for curiosity. Is it able to build against windows? I saw you had issues with integration tests. Now fixed? Do you need a help? |
No, the integration tests are working correctly. The only thing left is the exception message formatting error on Python 2. |
Current performance advantage is unclear as I'm aiming for feature parity at the moment.
I have added some benchmarks which we will use later on to measure how we're doing.