| 144 | == Django Benchmarking == |
| 145 | |
| 146 | https://github.com/django/djangobench |
| 147 | |
| 148 | Django has had a benchmarking suite for a while, but we've generally gotten more |
| 149 | slack at tracking the effects each commit and release has. We should institute |
| 150 | a set of top-level benchmarks aimed at various areas (the current set in |
| 151 | `djangobench` are weak in, say, the HTTP-serving-speed area) and then run them |
| 152 | against pull requests and each release, so we can make sure Django doesn't get |
| 153 | slower while nobody is looking. |
| 154 | |
| 155 | Recent work has gone into [https://github.com/django/djangobench/issues/38 |
| 156 | running the benchmarks regularly and integrating the Airspeed Velocity (ASV) |
| 157 | package]. The task would be to help pick-up that work and bring the |
| 158 | benchmarking up to the next level. |
| 159 | |
| 160 | There's particular work in benchmarking the efforts to bring async to Django. |
| 161 | It would be great to be able to see the effects of using ASGI (vs WSGI say), and |
| 162 | of particular suggested changes (such as [https://code.djangoproject.com/ticket/32172 making signals async aware]). |
| 163 | The [https://github.com/django/channels/tree/main/loadtesting Channels project also has benchmarks that need updating]. |
| 164 | |
| 165 | Creating a test harness using (say) [https://locust.io Locust.io] would make a great project. |
| 166 | |