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

4.x Benchmarking and Performance Tuning #1822

Open
1 of 3 tasks
kgriffs opened this issue Dec 18, 2020 · 8 comments
Open
1 of 3 tasks

4.x Benchmarking and Performance Tuning #1822

kgriffs opened this issue Dec 18, 2020 · 8 comments

Comments

@kgriffs
Copy link
Member

kgriffs commented Dec 18, 2020

  • Run benchmarks on 4.0 vs. 2.0 & 3.0 and take care of any performance regressions we find.
  • Also, we will need to create some baseline ASGI performance tests.
  • Update falconframework.org with new benchmarks
@KhDenys
Copy link

KhDenys commented Jan 15, 2021

@kgriffs Will you add django 3.x with wsgi and asgi modes to the benchmarks?

@vytas7
Copy link
Member

vytas7 commented Jan 15, 2021

Thanks for the reminder @KhDenys ! Yes, we'll try to bring Django 3 into the equation.

@kgriffs
Copy link
Member Author

kgriffs commented Mar 9, 2021

Created: #1880

@kgriffs
Copy link
Member Author

kgriffs commented Mar 9, 2021

Created: #1881

@kgriffs
Copy link
Member Author

kgriffs commented Mar 9, 2021

Run benchmarks on 3.0 vs. 2.0 and take care of any performance regressions we find.

A quick test on my MBP shows that we lost 4-7 μs/req with non-cythonized wheels. With the wheels, we are a few μs faster.

@vytas7
Copy link
Member

vytas7 commented Mar 9, 2021

Nothing I could reproduce on CPython 3.8.5 on Ubuntu 20.04 😰

The cythonized variant is shining in extended benchmarks due to certain parts now implemented in Cython/C.
The pure Python version is very marginally slower than 2.0.0, roughly by about one function call overhead or less.

@kgriffs
Copy link
Member Author

kgriffs commented Mar 9, 2021

OK, so I figured out that I was accidentally cythonizing the 2.0.0 wheel that I built from source. 🤦‍♂️

No significant regression after all, so I think we are good.

@kgriffs kgriffs modified the milestones: Version 3.0, Version 3.0.1 Apr 6, 2021
@kgriffs
Copy link
Member Author

kgriffs commented May 18, 2021

I just created new images:

https://hub.docker.com/repository/registry-1.docker.io/falconry/falcon-bench/tags?page=1&ordering=last_updated&name=3.0.1

E.g.,:

docker run -it falconry/falcon-bench:py

Python Version:
==================
Python 3.8.10

Installed Packages:
==================
Package      Version
------------ -------
asgiref      3.3.4
bottle       0.12.19
click        8.0.0
Django       3.2.3
falcon       3.0.1
Flask        2.0.0
itsdangerous 2.0.1
Jinja2       3.0.0
MarkupSafe   2.0.0
pip          21.1.1
pytz         2021.1
setuptools   56.2.0
sqlparse     0.4.1
Werkzeug     2.0.1
wheel        0.36.2

@vytas7 vytas7 modified the milestones: Version 3.0.x, Version 3.1 Dec 18, 2021
@vytas7 vytas7 changed the title 3.0 Benchmarking and Performance Tuning 3.x Benchmarking and Performance Tuning Dec 20, 2021
@vytas7 vytas7 modified the milestones: Version 3.1, Version 4.0 May 22, 2022
@vytas7 vytas7 changed the title 3.x Benchmarking and Performance Tuning 4.x Benchmarking and Performance Tuning May 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants