This repository contains the benchmarks for measuring Django's performance over time.
The benchmarking process is carried out by the benchmarking tool airspeed velocity and the results can be viewed here
If you have installed Anaconda or minicondaConda
is being used to run the benchmarks against different versions of python
If you already have conda or miniconda installed,you can run the benchmarks by using the commands
to run the benchmarks against the latest commit.
If you have not installed Anaconda or minicondaIf you do not have conda or miniconda installed, change the contents of the file asv.conf.json
as follows to use virutalenv
to run the benchmarks
{ "version": 1, "project": "Django", "project_url": "https://www.djangoproject.com/", "repo": "https://github.com/django/django.git", "branches": ["main"], "environment_type": "virtualenv", "show_commit_url": "http://github.com/django/django/commit/", }
and run the benchmarks using the commands
Note: ASV
prompts you to set a machine name on the first run, please do not set it to 'ubuntu-22.04', 'windows-2022' or 'macos-12' as the results for the machines with these names are currently being stored in the repository
Benchmarking results of differnt branches can be compared using the following method
asv run <commit1 SHA or branch1 name>
asv run <commit2 SHA or branch2 name>
asv compare <commit1 SHA or branch name> <commit2 SHA or branch name>
Writing New Benchmarks And Contributing
Fork this repository and create a new branch
Install pre-commit
and run pre-commit install
to install pre-commit hooks which will be used to format the code
Create a new directory with the name benchmark_name
under the appropriate category of benchmarks
Add the files __init__.py
and benchmark.py
to the directory
Add the directory to the list of INSTALLLED_APPS
in settings.py
Use the following format to write your benchmark in the file benchmark.py
from ...utils import bench_setup() class BenchmarkClass: def setup(): bench_setup() # if your benchmark makes use of models then use # bench_setup(migrate=True) ... def time_benchmark_name(): ...
Commit changes and create a pull request
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4