django-bolt 0.2.5__tar.gz → 0.2.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of django-bolt might be problematic. Click here for more details.
- django_bolt-0.2.7/BENCHMARK_BASELINE.md +203 -0
- django_bolt-0.2.7/BENCHMARK_DEV.md +203 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/CLAUDE.md +1 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/Cargo.lock +52 -72
- {django_bolt-0.2.5 → django_bolt-0.2.7}/Cargo.toml +1 -1
- {django_bolt-0.2.5 → django_bolt-0.2.7}/Makefile +15 -1
- {django_bolt-0.2.5 → django_bolt-0.2.7}/PKG-INFO +2 -1
- {django_bolt-0.2.5 → django_bolt-0.2.7}/TODO.md +1 -1
- django_bolt-0.2.7/docs/COMPRESSION.md +158 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/pyproject.toml +4 -5
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/compression.py +8 -42
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/management/commands/runbolt.py +34 -17
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/testproject/api.py +40 -2
- django_bolt-0.2.7/python/tests/test_compression.py +262 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/scripts/release.sh +7 -2
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/metadata.rs +18 -0
- django_bolt-0.2.7/src/middleware/compression.rs +188 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/middleware/mod.rs +1 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/server.rs +99 -49
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/state.rs +4 -3
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/test_state.rs +14 -4
- django_bolt-0.2.5/BENCHMARK_BASELINE.md +0 -203
- django_bolt-0.2.5/BENCHMARK_DEV.md +0 -203
- django_bolt-0.2.5/docs/COMPRESSION.md +0 -63
- {django_bolt-0.2.5 → django_bolt-0.2.7}/.github/workflows/CI.yml +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/.gitignore +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/.python-version +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/README.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/ANNOTATION_GUIDE.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/ASYNC_DJANGO.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/CLASS_BASED_VIEWS.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/DEPENDENCY_INJECTION.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/DJANGO_ADMIN.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/EXCEPTIONS.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/GETTING_STARTED.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/GIL_OPTIMIZATION.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/LOGGING.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/MIDDLEWARE.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/OPENAPI.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/OPENAPI_ERROR_RESPONSES.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/OPENAPI_METADATA_IMPLEMENTATION.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/PAGINATION.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/PUBLISHING.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/README.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/RESPONSES.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/SECURITY.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/SERIALIZATION.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/TESTING_UTILITIES.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/favicon.png +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/icon.png +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/docs/logo.png +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/pytest.ini +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/_json.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/admin/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/admin/admin_detection.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/admin/asgi_bridge.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/admin/routes.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/admin/static.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/admin/static_routes.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/api.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/apps.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/async_collector.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/auth/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/auth/backends.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/auth/guards.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/auth/jwt_utils.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/auth/revocation.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/auth/token.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/binding.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/bootstrap.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/cli.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/decorators.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/dependencies.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/error_handlers.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/exceptions.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/health.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/logging/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/logging/config.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/logging/middleware.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/management/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/management/commands/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/middleware/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/middleware/compiler.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/middleware/middleware.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/config.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/plugins.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/routes.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/schema_generator.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/base.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/callback.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/components.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/contact.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/discriminator.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/encoding.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/enums.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/example.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/external_documentation.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/header.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/info.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/license.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/link.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/media_type.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/oauth_flow.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/oauth_flows.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/open_api.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/operation.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/parameter.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/path_item.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/paths.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/reference.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/request_body.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/response.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/responses.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/schema.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/security_requirement.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/security_scheme.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/server.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/server_variable.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/tag.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/openapi/spec/xml.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/pagination.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/param_functions.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/params.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/request_parsing.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/responses.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/router.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/serialization.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/status_codes.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/testing/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/testing/client.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/testing/helpers.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/types.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/typing.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/django_bolt/views.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/README.md +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/bench/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/bench/admin.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/bench/api.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/bench/apps.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/bench/migrations/0001_initial.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/bench/migrations/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/bench/models.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/bench/tests.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/bench/views.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/manage.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/100B +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/100B.txt +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/100K +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/100K.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/100K.txt +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/10K +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/10K.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/10K.txt +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/1K +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/1K.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/1K.txt +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/1M +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/1M.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/1M.txt +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/500K +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/500K.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/500K.txt +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/5M +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/5M.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/5M.txt +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/FILE_UPLOAD_1K +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/FILE_UPLOAD_1K_HEADERS.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/FORM_URLENCODED_1K +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/FORM_URLENCODED_1K_HEADERS.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/MULTIPART_1K +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/MULTIPART_1K_HEADERS.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/objects.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/persons_100.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/persons_50.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/test_data/persons_500.json +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/testproject/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/testproject/asgi.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/testproject/settings.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/testproject/test_api.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/testproject/urls.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/testproject/views.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/testproject/wsgi.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/users/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/users/admin.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/users/api.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/users/apps.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/users/migrations/0001_initial.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/users/migrations/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/users/models.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/users/tests.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/example/users/views.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/admin_tests/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/admin_tests/conftest.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/admin_tests/test_admin_with_django.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/admin_tests/urls.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/cbv/__init__.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/cbv/test_class_views.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/cbv/test_class_views_django_orm.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/cbv/test_class_views_features.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/cbv/test_class_views_with_client.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/conftest.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_action_decorator.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_auth_secret_key.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_cors_implementation.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_decorator_syntax.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_error_handling.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_file_response.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_global_cors.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_guards_auth.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_guards_integration.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_health.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_integration_validation.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_json_validation.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_jwt_auth.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_jwt_token.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_logging.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_logging_merge.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_middleware.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_middleware_server.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_model_viewset.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_models.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_openapi_docs.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_openapi_metadata.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_pagination.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_parameter_validation.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_request_get.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_syntax.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_testing_utilities.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_testing_utilities_simple.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_types.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/python/tests/test_viewset_unified.py +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/scripts/benchmark.sh +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/scripts/install_hey.sh +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/direct_stream.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/error.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/handler.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/json.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/lib.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/middleware/auth.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/middleware/rate_limit.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/permissions.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/request.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/router.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/streaming.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/testing.rs +0 -0
- {django_bolt-0.2.5 → django_bolt-0.2.7}/src/validation.rs +0 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Django-Bolt Benchmark
|
|
2
|
+
Generated: Fri Oct 31 10:35:56 PM PKT 2025
|
|
3
|
+
Config: 8 processes × 1 workers | C=100 N=10000
|
|
4
|
+
|
|
5
|
+
## Root Endpoint Performance
|
|
6
|
+
Failed requests: 0
|
|
7
|
+
Requests per second: 98888.49 [#/sec] (mean)
|
|
8
|
+
Time per request: 1.011 [ms] (mean)
|
|
9
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
10
|
+
|
|
11
|
+
## 10kb JSON Response Performance
|
|
12
|
+
### 10kb JSON (/10k-json)
|
|
13
|
+
Failed requests: 0
|
|
14
|
+
Requests per second: 85926.16 [#/sec] (mean)
|
|
15
|
+
Time per request: 1.164 [ms] (mean)
|
|
16
|
+
Time per request: 0.012 [ms] (mean, across all concurrent requests)
|
|
17
|
+
|
|
18
|
+
## Response Type Endpoints
|
|
19
|
+
### Header Endpoint (/header)
|
|
20
|
+
Failed requests: 0
|
|
21
|
+
Requests per second: 102042.90 [#/sec] (mean)
|
|
22
|
+
Time per request: 0.980 [ms] (mean)
|
|
23
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
24
|
+
### Cookie Endpoint (/cookie)
|
|
25
|
+
Failed requests: 0
|
|
26
|
+
Requests per second: 102332.15 [#/sec] (mean)
|
|
27
|
+
Time per request: 0.977 [ms] (mean)
|
|
28
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
29
|
+
### Exception Endpoint (/exc)
|
|
30
|
+
Failed requests: 0
|
|
31
|
+
Requests per second: 97669.60 [#/sec] (mean)
|
|
32
|
+
Time per request: 1.024 [ms] (mean)
|
|
33
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
34
|
+
### HTML Response (/html)
|
|
35
|
+
Failed requests: 0
|
|
36
|
+
Requests per second: 103250.32 [#/sec] (mean)
|
|
37
|
+
Time per request: 0.969 [ms] (mean)
|
|
38
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
39
|
+
### Redirect Response (/redirect)
|
|
40
|
+
Failed requests: 0
|
|
41
|
+
Requests per second: 104254.63 [#/sec] (mean)
|
|
42
|
+
Time per request: 0.959 [ms] (mean)
|
|
43
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
44
|
+
### File Static via FileResponse (/file-static)
|
|
45
|
+
Failed requests: 0
|
|
46
|
+
Requests per second: 28891.30 [#/sec] (mean)
|
|
47
|
+
Time per request: 3.461 [ms] (mean)
|
|
48
|
+
Time per request: 0.035 [ms] (mean, across all concurrent requests)
|
|
49
|
+
|
|
50
|
+
## Streaming and SSE Performance
|
|
51
|
+
### Streaming Plain Text (/stream)
|
|
52
|
+
Total: 0.1992 secs
|
|
53
|
+
Slowest: 0.0079 secs
|
|
54
|
+
Fastest: 0.0001 secs
|
|
55
|
+
Average: 0.0019 secs
|
|
56
|
+
Requests/sec: 50213.0356
|
|
57
|
+
Status code distribution:
|
|
58
|
+
### Server-Sent Events (/sse)
|
|
59
|
+
Total: 0.1974 secs
|
|
60
|
+
Slowest: 0.0205 secs
|
|
61
|
+
Fastest: 0.0001 secs
|
|
62
|
+
Average: 0.0019 secs
|
|
63
|
+
Requests/sec: 50655.1332
|
|
64
|
+
Status code distribution:
|
|
65
|
+
### Server-Sent Events (async) (/sse-async)
|
|
66
|
+
Total: 0.3430 secs
|
|
67
|
+
Slowest: 0.0136 secs
|
|
68
|
+
Fastest: 0.0002 secs
|
|
69
|
+
Average: 0.0033 secs
|
|
70
|
+
Requests/sec: 29152.0414
|
|
71
|
+
Status code distribution:
|
|
72
|
+
### OpenAI Chat Completions (stream) (/v1/chat/completions)
|
|
73
|
+
Total: 0.5582 secs
|
|
74
|
+
Slowest: 0.0148 secs
|
|
75
|
+
Fastest: 0.0004 secs
|
|
76
|
+
Average: 0.0054 secs
|
|
77
|
+
Requests/sec: 17913.9818
|
|
78
|
+
Status code distribution:
|
|
79
|
+
### OpenAI Chat Completions (async stream) (/v1/chat/completions-async)
|
|
80
|
+
Total: 0.6828 secs
|
|
81
|
+
Slowest: 0.0185 secs
|
|
82
|
+
Fastest: 0.0004 secs
|
|
83
|
+
Average: 0.0066 secs
|
|
84
|
+
Requests/sec: 14646.5489
|
|
85
|
+
Status code distribution:
|
|
86
|
+
|
|
87
|
+
## Items GET Performance (/items/1?q=hello)
|
|
88
|
+
Failed requests: 0
|
|
89
|
+
Requests per second: 94557.28 [#/sec] (mean)
|
|
90
|
+
Time per request: 1.058 [ms] (mean)
|
|
91
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
92
|
+
|
|
93
|
+
## Items PUT JSON Performance (/items/1)
|
|
94
|
+
Failed requests: 0
|
|
95
|
+
Requests per second: 87180.92 [#/sec] (mean)
|
|
96
|
+
Time per request: 1.147 [ms] (mean)
|
|
97
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
98
|
+
|
|
99
|
+
## ORM Performance
|
|
100
|
+
### Users Full10 (/users/full10)
|
|
101
|
+
Failed requests: 0
|
|
102
|
+
Requests per second: 14486.43 [#/sec] (mean)
|
|
103
|
+
Time per request: 6.903 [ms] (mean)
|
|
104
|
+
Time per request: 0.069 [ms] (mean, across all concurrent requests)
|
|
105
|
+
### Users Mini10 (/users/mini10)
|
|
106
|
+
Failed requests: 0
|
|
107
|
+
Requests per second: 16800.28 [#/sec] (mean)
|
|
108
|
+
Time per request: 5.952 [ms] (mean)
|
|
109
|
+
Time per request: 0.060 [ms] (mean, across all concurrent requests)
|
|
110
|
+
|
|
111
|
+
## Class-Based Views (CBV) Performance
|
|
112
|
+
### Simple APIView GET (/cbv-simple)
|
|
113
|
+
Failed requests: 0
|
|
114
|
+
Requests per second: 89463.04 [#/sec] (mean)
|
|
115
|
+
Time per request: 1.118 [ms] (mean)
|
|
116
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
117
|
+
### Simple APIView POST (/cbv-simple)
|
|
118
|
+
Failed requests: 0
|
|
119
|
+
Requests per second: 75276.83 [#/sec] (mean)
|
|
120
|
+
Time per request: 1.328 [ms] (mean)
|
|
121
|
+
Time per request: 0.013 [ms] (mean, across all concurrent requests)
|
|
122
|
+
### Items100 ViewSet GET (/cbv-items100)
|
|
123
|
+
Failed requests: 0
|
|
124
|
+
Requests per second: 60311.81 [#/sec] (mean)
|
|
125
|
+
Time per request: 1.658 [ms] (mean)
|
|
126
|
+
Time per request: 0.017 [ms] (mean, across all concurrent requests)
|
|
127
|
+
|
|
128
|
+
## CBV Items - Basic Operations
|
|
129
|
+
### CBV Items GET (Retrieve) (/cbv-items/1)
|
|
130
|
+
Failed requests: 0
|
|
131
|
+
Requests per second: 97608.59 [#/sec] (mean)
|
|
132
|
+
Time per request: 1.024 [ms] (mean)
|
|
133
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
134
|
+
### CBV Items PUT (Update) (/cbv-items/1)
|
|
135
|
+
Failed requests: 0
|
|
136
|
+
Requests per second: 91640.55 [#/sec] (mean)
|
|
137
|
+
Time per request: 1.091 [ms] (mean)
|
|
138
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
139
|
+
|
|
140
|
+
## CBV Additional Benchmarks
|
|
141
|
+
### CBV Bench Parse (POST /cbv-bench-parse)
|
|
142
|
+
Failed requests: 0
|
|
143
|
+
Requests per second: 91746.49 [#/sec] (mean)
|
|
144
|
+
Time per request: 1.090 [ms] (mean)
|
|
145
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
146
|
+
### CBV Response Types (/cbv-response)
|
|
147
|
+
Failed requests: 0
|
|
148
|
+
Requests per second: 97331.18 [#/sec] (mean)
|
|
149
|
+
Time per request: 1.027 [ms] (mean)
|
|
150
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
151
|
+
### CBV Streaming Plain Text (/cbv-stream)
|
|
152
|
+
Total: 0.1993 secs
|
|
153
|
+
Slowest: 0.0135 secs
|
|
154
|
+
Fastest: 0.0001 secs
|
|
155
|
+
Average: 0.0019 secs
|
|
156
|
+
Requests/sec: 50175.9090
|
|
157
|
+
Status code distribution:
|
|
158
|
+
### CBV Server-Sent Events (/cbv-sse)
|
|
159
|
+
Total: 0.1935 secs
|
|
160
|
+
Slowest: 0.0122 secs
|
|
161
|
+
Fastest: 0.0001 secs
|
|
162
|
+
Average: 0.0019 secs
|
|
163
|
+
Requests/sec: 51674.0506
|
|
164
|
+
Status code distribution:
|
|
165
|
+
### CBV Chat Completions (stream) (/cbv-chat-completions)
|
|
166
|
+
Total: 0.7287 secs
|
|
167
|
+
Slowest: 0.0280 secs
|
|
168
|
+
Fastest: 0.0004 secs
|
|
169
|
+
Average: 0.0071 secs
|
|
170
|
+
Requests/sec: 13723.1401
|
|
171
|
+
Status code distribution:
|
|
172
|
+
|
|
173
|
+
## ORM Performance with CBV
|
|
174
|
+
### Users CBV Mini10 (List) (/users/cbv-mini10)
|
|
175
|
+
Failed requests: 0
|
|
176
|
+
Requests per second: 18096.40 [#/sec] (mean)
|
|
177
|
+
Time per request: 5.526 [ms] (mean)
|
|
178
|
+
Time per request: 0.055 [ms] (mean, across all concurrent requests)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
## Form and File Upload Performance
|
|
182
|
+
### Form Data (POST /form)
|
|
183
|
+
Failed requests: 0
|
|
184
|
+
Requests per second: 79348.08 [#/sec] (mean)
|
|
185
|
+
Time per request: 1.260 [ms] (mean)
|
|
186
|
+
Time per request: 0.013 [ms] (mean, across all concurrent requests)
|
|
187
|
+
### File Upload (POST /upload)
|
|
188
|
+
Failed requests: 0
|
|
189
|
+
Requests per second: 59703.63 [#/sec] (mean)
|
|
190
|
+
Time per request: 1.675 [ms] (mean)
|
|
191
|
+
Time per request: 0.017 [ms] (mean, across all concurrent requests)
|
|
192
|
+
### Mixed Form with Files (POST /mixed-form)
|
|
193
|
+
Failed requests: 0
|
|
194
|
+
Requests per second: 59385.95 [#/sec] (mean)
|
|
195
|
+
Time per request: 1.684 [ms] (mean)
|
|
196
|
+
Time per request: 0.017 [ms] (mean, across all concurrent requests)
|
|
197
|
+
|
|
198
|
+
## Django Ninja-style Benchmarks
|
|
199
|
+
### JSON Parse/Validate (POST /bench/parse)
|
|
200
|
+
Failed requests: 0
|
|
201
|
+
Requests per second: 92951.49 [#/sec] (mean)
|
|
202
|
+
Time per request: 1.076 [ms] (mean)
|
|
203
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Django-Bolt Benchmark
|
|
2
|
+
Generated: Fri Oct 31 10:56:08 PM PKT 2025
|
|
3
|
+
Config: 8 processes × 1 workers | C=100 N=10000
|
|
4
|
+
|
|
5
|
+
## Root Endpoint Performance
|
|
6
|
+
Failed requests: 0
|
|
7
|
+
Requests per second: 101021.33 [#/sec] (mean)
|
|
8
|
+
Time per request: 0.990 [ms] (mean)
|
|
9
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
10
|
+
|
|
11
|
+
## 10kb JSON Response Performance
|
|
12
|
+
### 10kb JSON (/10k-json)
|
|
13
|
+
Failed requests: 0
|
|
14
|
+
Requests per second: 83884.17 [#/sec] (mean)
|
|
15
|
+
Time per request: 1.192 [ms] (mean)
|
|
16
|
+
Time per request: 0.012 [ms] (mean, across all concurrent requests)
|
|
17
|
+
|
|
18
|
+
## Response Type Endpoints
|
|
19
|
+
### Header Endpoint (/header)
|
|
20
|
+
Failed requests: 0
|
|
21
|
+
Requests per second: 100206.43 [#/sec] (mean)
|
|
22
|
+
Time per request: 0.998 [ms] (mean)
|
|
23
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
24
|
+
### Cookie Endpoint (/cookie)
|
|
25
|
+
Failed requests: 0
|
|
26
|
+
Requests per second: 97078.90 [#/sec] (mean)
|
|
27
|
+
Time per request: 1.030 [ms] (mean)
|
|
28
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
29
|
+
### Exception Endpoint (/exc)
|
|
30
|
+
Failed requests: 0
|
|
31
|
+
Requests per second: 97846.40 [#/sec] (mean)
|
|
32
|
+
Time per request: 1.022 [ms] (mean)
|
|
33
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
34
|
+
### HTML Response (/html)
|
|
35
|
+
Failed requests: 0
|
|
36
|
+
Requests per second: 102054.35 [#/sec] (mean)
|
|
37
|
+
Time per request: 0.980 [ms] (mean)
|
|
38
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
39
|
+
### Redirect Response (/redirect)
|
|
40
|
+
Failed requests: 0
|
|
41
|
+
Requests per second: 101326.36 [#/sec] (mean)
|
|
42
|
+
Time per request: 0.987 [ms] (mean)
|
|
43
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
44
|
+
### File Static via FileResponse (/file-static)
|
|
45
|
+
Failed requests: 0
|
|
46
|
+
Requests per second: 21057.15 [#/sec] (mean)
|
|
47
|
+
Time per request: 4.749 [ms] (mean)
|
|
48
|
+
Time per request: 0.047 [ms] (mean, across all concurrent requests)
|
|
49
|
+
|
|
50
|
+
## Streaming and SSE Performance
|
|
51
|
+
### Streaming Plain Text (/stream)
|
|
52
|
+
Total: 0.2191 secs
|
|
53
|
+
Slowest: 0.0133 secs
|
|
54
|
+
Fastest: 0.0001 secs
|
|
55
|
+
Average: 0.0021 secs
|
|
56
|
+
Requests/sec: 45639.3454
|
|
57
|
+
Status code distribution:
|
|
58
|
+
### Server-Sent Events (/sse)
|
|
59
|
+
Total: 0.1911 secs
|
|
60
|
+
Slowest: 0.0087 secs
|
|
61
|
+
Fastest: 0.0001 secs
|
|
62
|
+
Average: 0.0018 secs
|
|
63
|
+
Requests/sec: 52338.0410
|
|
64
|
+
Status code distribution:
|
|
65
|
+
### Server-Sent Events (async) (/sse-async)
|
|
66
|
+
Total: 0.3585 secs
|
|
67
|
+
Slowest: 0.0144 secs
|
|
68
|
+
Fastest: 0.0002 secs
|
|
69
|
+
Average: 0.0034 secs
|
|
70
|
+
Requests/sec: 27891.7389
|
|
71
|
+
Status code distribution:
|
|
72
|
+
### OpenAI Chat Completions (stream) (/v1/chat/completions)
|
|
73
|
+
Total: 0.5844 secs
|
|
74
|
+
Slowest: 0.0179 secs
|
|
75
|
+
Fastest: 0.0003 secs
|
|
76
|
+
Average: 0.0056 secs
|
|
77
|
+
Requests/sec: 17112.8772
|
|
78
|
+
Status code distribution:
|
|
79
|
+
### OpenAI Chat Completions (async stream) (/v1/chat/completions-async)
|
|
80
|
+
Total: 0.7211 secs
|
|
81
|
+
Slowest: 0.0209 secs
|
|
82
|
+
Fastest: 0.0005 secs
|
|
83
|
+
Average: 0.0067 secs
|
|
84
|
+
Requests/sec: 13867.4423
|
|
85
|
+
Status code distribution:
|
|
86
|
+
|
|
87
|
+
## Items GET Performance (/items/1?q=hello)
|
|
88
|
+
Failed requests: 0
|
|
89
|
+
Requests per second: 70965.77 [#/sec] (mean)
|
|
90
|
+
Time per request: 1.409 [ms] (mean)
|
|
91
|
+
Time per request: 0.014 [ms] (mean, across all concurrent requests)
|
|
92
|
+
|
|
93
|
+
## Items PUT JSON Performance (/items/1)
|
|
94
|
+
Failed requests: 0
|
|
95
|
+
Requests per second: 82165.22 [#/sec] (mean)
|
|
96
|
+
Time per request: 1.217 [ms] (mean)
|
|
97
|
+
Time per request: 0.012 [ms] (mean, across all concurrent requests)
|
|
98
|
+
|
|
99
|
+
## ORM Performance
|
|
100
|
+
### Users Full10 (/users/full10)
|
|
101
|
+
Failed requests: 0
|
|
102
|
+
Requests per second: 14509.11 [#/sec] (mean)
|
|
103
|
+
Time per request: 6.892 [ms] (mean)
|
|
104
|
+
Time per request: 0.069 [ms] (mean, across all concurrent requests)
|
|
105
|
+
### Users Mini10 (/users/mini10)
|
|
106
|
+
Failed requests: 0
|
|
107
|
+
Requests per second: 16262.62 [#/sec] (mean)
|
|
108
|
+
Time per request: 6.149 [ms] (mean)
|
|
109
|
+
Time per request: 0.061 [ms] (mean, across all concurrent requests)
|
|
110
|
+
|
|
111
|
+
## Class-Based Views (CBV) Performance
|
|
112
|
+
### Simple APIView GET (/cbv-simple)
|
|
113
|
+
Failed requests: 0
|
|
114
|
+
Requests per second: 101748.03 [#/sec] (mean)
|
|
115
|
+
Time per request: 0.983 [ms] (mean)
|
|
116
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
117
|
+
### Simple APIView POST (/cbv-simple)
|
|
118
|
+
Failed requests: 0
|
|
119
|
+
Requests per second: 93984.08 [#/sec] (mean)
|
|
120
|
+
Time per request: 1.064 [ms] (mean)
|
|
121
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
122
|
+
### Items100 ViewSet GET (/cbv-items100)
|
|
123
|
+
Failed requests: 0
|
|
124
|
+
Requests per second: 70886.79 [#/sec] (mean)
|
|
125
|
+
Time per request: 1.411 [ms] (mean)
|
|
126
|
+
Time per request: 0.014 [ms] (mean, across all concurrent requests)
|
|
127
|
+
|
|
128
|
+
## CBV Items - Basic Operations
|
|
129
|
+
### CBV Items GET (Retrieve) (/cbv-items/1)
|
|
130
|
+
Failed requests: 0
|
|
131
|
+
Requests per second: 96781.06 [#/sec] (mean)
|
|
132
|
+
Time per request: 1.033 [ms] (mean)
|
|
133
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
134
|
+
### CBV Items PUT (Update) (/cbv-items/1)
|
|
135
|
+
Failed requests: 0
|
|
136
|
+
Requests per second: 91161.86 [#/sec] (mean)
|
|
137
|
+
Time per request: 1.097 [ms] (mean)
|
|
138
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
139
|
+
|
|
140
|
+
## CBV Additional Benchmarks
|
|
141
|
+
### CBV Bench Parse (POST /cbv-bench-parse)
|
|
142
|
+
Failed requests: 0
|
|
143
|
+
Requests per second: 93008.55 [#/sec] (mean)
|
|
144
|
+
Time per request: 1.075 [ms] (mean)
|
|
145
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
146
|
+
### CBV Response Types (/cbv-response)
|
|
147
|
+
Failed requests: 0
|
|
148
|
+
Requests per second: 101316.10 [#/sec] (mean)
|
|
149
|
+
Time per request: 0.987 [ms] (mean)
|
|
150
|
+
Time per request: 0.010 [ms] (mean, across all concurrent requests)
|
|
151
|
+
### CBV Streaming Plain Text (/cbv-stream)
|
|
152
|
+
Total: 0.1922 secs
|
|
153
|
+
Slowest: 0.0094 secs
|
|
154
|
+
Fastest: 0.0001 secs
|
|
155
|
+
Average: 0.0018 secs
|
|
156
|
+
Requests/sec: 52024.1120
|
|
157
|
+
Status code distribution:
|
|
158
|
+
### CBV Server-Sent Events (/cbv-sse)
|
|
159
|
+
Total: 0.1664 secs
|
|
160
|
+
Slowest: 0.0075 secs
|
|
161
|
+
Fastest: 0.0001 secs
|
|
162
|
+
Average: 0.0016 secs
|
|
163
|
+
Requests/sec: 60096.1759
|
|
164
|
+
Status code distribution:
|
|
165
|
+
### CBV Chat Completions (stream) (/cbv-chat-completions)
|
|
166
|
+
Total: 0.7358 secs
|
|
167
|
+
Slowest: 0.0298 secs
|
|
168
|
+
Fastest: 0.0004 secs
|
|
169
|
+
Average: 0.0071 secs
|
|
170
|
+
Requests/sec: 13591.4714
|
|
171
|
+
Status code distribution:
|
|
172
|
+
|
|
173
|
+
## ORM Performance with CBV
|
|
174
|
+
### Users CBV Mini10 (List) (/users/cbv-mini10)
|
|
175
|
+
Failed requests: 0
|
|
176
|
+
Requests per second: 18272.98 [#/sec] (mean)
|
|
177
|
+
Time per request: 5.473 [ms] (mean)
|
|
178
|
+
Time per request: 0.055 [ms] (mean, across all concurrent requests)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
## Form and File Upload Performance
|
|
182
|
+
### Form Data (POST /form)
|
|
183
|
+
Failed requests: 0
|
|
184
|
+
Requests per second: 72707.71 [#/sec] (mean)
|
|
185
|
+
Time per request: 1.375 [ms] (mean)
|
|
186
|
+
Time per request: 0.014 [ms] (mean, across all concurrent requests)
|
|
187
|
+
### File Upload (POST /upload)
|
|
188
|
+
Failed requests: 0
|
|
189
|
+
Requests per second: 62093.29 [#/sec] (mean)
|
|
190
|
+
Time per request: 1.610 [ms] (mean)
|
|
191
|
+
Time per request: 0.016 [ms] (mean, across all concurrent requests)
|
|
192
|
+
### Mixed Form with Files (POST /mixed-form)
|
|
193
|
+
Failed requests: 0
|
|
194
|
+
Requests per second: 58302.58 [#/sec] (mean)
|
|
195
|
+
Time per request: 1.715 [ms] (mean)
|
|
196
|
+
Time per request: 0.017 [ms] (mean, across all concurrent requests)
|
|
197
|
+
|
|
198
|
+
## Django Ninja-style Benchmarks
|
|
199
|
+
### JSON Parse/Validate (POST /bench/parse)
|
|
200
|
+
Failed requests: 0
|
|
201
|
+
Requests per second: 88763.44 [#/sec] (mean)
|
|
202
|
+
Time per request: 1.127 [ms] (mean)
|
|
203
|
+
Time per request: 0.011 [ms] (mean, across all concurrent requests)
|
|
@@ -533,3 +533,4 @@ uv run --with pytest pytest python/tests -s -vv
|
|
|
533
533
|
- **Middleware compilation**: Python middleware config is compiled to Rust metadata at server startup
|
|
534
534
|
- **Route autodiscovery**: Runs once at server startup, no hot-reload in production mode (use `--dev` for development)
|
|
535
535
|
- **Multi-process**: Each process has its own Python interpreter and imports Django independently
|
|
536
|
+
- never silently ignore the error or exception. At least we have print method there this happened. This create obscure errors .
|