-
-
Notifications
You must be signed in to change notification settings - Fork 177
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
cythonize more #3978
Comments
One common problem is the use of the f-string
Another is
|
It takes a while to run, but find ./xpra -name "*.py" -exec python3.10-cythonize -3 {} \; So rather than cythonizing everything, I've selected the classes that are the most likely to benefit from cythonization:
This does flag some bugs which is useful in itself. |
Found a few more bugs in the process. (ie: |
Server startup time without extra cythonization is already plenty fast, much faster than when #2341 / #2815 were an issue. The only modules that don't take less than 1ms to initialize are:
(+- 10% variation) Not a single one of the client modules (#2347) takes more than 1ms! On my system the only two things slowing down client startup are:
One issue unrelated to cythonization remains:
(and this should not delay client connections since we now require the This extra cythonization is working so well that it could be made the default in the future. |
Massive related tidy up: cbbea30 |
move win32 service to a more logical place so the automagic can do its thing
A standard Fedora build now cythonizes over 400 files!
This will do for now. |
This caused a very unusual bug!
It was difficult to debug, the problem comes from this line: Line 368 in 6ba5f03
The cythonized version ends up not inserting a category for the caller (which is |
Another downside of An deprecation warning that seemed to be coming from
|
The goal is similar to #1953 and #1700.
Now with the added benefit that type hints can (almost) be used by Cython to compile plain python code.
Also review the reports for existing performance critical cythonized code to ensure that there is no Python interaction.
The text was updated successfully, but these errors were encountered: