diff --git a/benchmarks/query_benchmarks/__init__.py b/benchmarks/query_benchmarks/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/benchmarks/query_benchmarks/query_multifield/__init__.py b/benchmarks/query_benchmarks/query_multifield/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/benchmarks/query_benchmarks/query_multifield/benchmark.py b/benchmarks/query_benchmarks/query_multifield/benchmark.py new file mode 100644 index 0000000000..05e49fd278 --- /dev/null +++ b/benchmarks/query_benchmarks/query_multifield/benchmark.py @@ -0,0 +1,16 @@ +from ...utils import bench_setup +from .models import MultiField + + +class QueryMultiField: + def setup(self): + bench_setup(migrate=True) + for i in range(0, 3000): + kwargs = {f"field{j}": f"foobar_{i}_{j}" for j in range(1, 11)} + MultiField(**kwargs).save() + + def teardown(self): + MultiField.objects.all().delete() + + def time_iter(self): + list(MultiField.objects.iterator()) diff --git a/benchmarks/query_benchmarks/query_multifield/models.py b/benchmarks/query_benchmarks/query_multifield/models.py new file mode 100644 index 0000000000..3243d4b5d0 --- /dev/null +++ b/benchmarks/query_benchmarks/query_multifield/models.py @@ -0,0 +1,18 @@ +from django.db import models + +from ...utils import bench_setup + +bench_setup() + + +class MultiField(models.Model): + field1 = models.CharField(max_length=100) + field2 = models.CharField(max_length=100) + field3 = models.CharField(max_length=100) + field4 = models.CharField(max_length=100) + field5 = models.CharField(max_length=100) + field6 = models.CharField(max_length=100) + field7 = models.CharField(max_length=100) + field8 = models.CharField(max_length=100) + field9 = models.CharField(max_length=100) + field10 = models.CharField(max_length=100) diff --git a/benchmarks/settings.py b/benchmarks/settings.py index fb727bb2db..20131ca830 100644 --- a/benchmarks/settings.py +++ b/benchmarks/settings.py @@ -13,6 +13,7 @@ "django.contrib.auth", "django.contrib.contenttypes", "benchmarks", + "benchmarks.query_benchmarks.query_multifield", ] SECRET_KEY = "NOT REALLY SECRET"