Skip to content

Commit 4db9461

Browse files
committed
Finish first draft of benchmarks
1 parent d1d6e84 commit 4db9461

File tree

5 files changed

+396
-30
lines changed

5 files changed

+396
-30
lines changed
Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
{
2+
"embedded_str_doc_1": {
3+
"field1": "kj9$mxz#p2qw8r*vn4@h7c&u1s",
4+
"field2": "x3@9zf#mk7w$qp2n8v*r6j4h&c1u5s0a",
5+
"field3": "p9#m2x$k7z@w3q8v*n4r&j6h1c5u0s",
6+
"field4": "z8@x3m#k9w$p2q7v*r4n6j&h1c5u0s",
7+
"field5": "m7#k9x$z3w@p8q2v*n4r6j&h1c5u0s",
8+
"field6": "k6$x9m#z7w3p@q8v2n*r4j6h&c1u5s0",
9+
"field7": "x5@m9k#z6w$p3q7v*n2r8j&h4c1u0s",
10+
"field8": "m4#x8k$z9w6p@q3v*n7r2j&h5c1u0s",
11+
"field9": "k3$m7x#z8w9p@q6v*n2r4j&h1c5u0s",
12+
"field10": "x2@k6m#z7w8p$q9v*n3r1j&h4c5u0s",
13+
"field11": "m1#x5k$z6w7p@q8v*n9r2j&h3c4u0s",
14+
"field12": "k0$x4m#z5w6p@q7v*n8r1j&h2c3u9s",
15+
"field13": "x9@m3k#z4w5p$q6v*n7r0j&h1c2u8s",
16+
"field14": "m8#k2x$z3w4p@q5v*n6r9j&h0c1u7s",
17+
"field15": "k7$x1m#z2w3p@q4v*n5r8j&h9c0u6s"
18+
},
19+
"embedded_str_doc_2": {
20+
"field1": "x6@m0k#z1w2p$q3v*n4r7j&h8c9u5s",
21+
"field2": "m5#x9k$z0w1p@q2v*n3r6j&h7c8u4s",
22+
"field3": "k4$m8x#z9w0p@q1v*n2r5j&h6c7u3s",
23+
"field4": "x3@k7m#z8w9p$q0v*n1r4j&h5c6u2s",
24+
"field5": "m2#x6k$z7w8p@q9v*n0r3j&h4c5u1s",
25+
"field6": "k1$x5m#z6w7p@q8v*n9r2j&h3c4u0s",
26+
"field7": "x0@m4k#z5w6p$q7v*n8r1j&h2c3u9s",
27+
"field8": "m9#k3x$z4w5p@q6v*n7r0j&h1c2u8s",
28+
"field9": "k8$x2m#z3w4p@q5v*n6r9j&h0c1u7s",
29+
"field10": "x7@m1k#z2w3p$q4v*n5r8j&h9c0u6s",
30+
"field11": "m6#x0k$z1w2p@q3v*n4r7j&h8c9u5s",
31+
"field12": "k5$m9x#z0w1p@q2v*n3r6j&h7c8u4s",
32+
"field13": "x4@k8m#z9w0p$q1v*n2r5j&h6c7u3s",
33+
"field14": "m3#x7k$z8w9p@q0v*n1r4j&h5c6u2s",
34+
"field15": "k2$x6m#z7w8p@q9v*n0r3j&h4c5u1s"
35+
},
36+
"embedded_str_doc_3": {
37+
"field1": "k9$x3m#z4w5p@q6v*n7r0j&h1c2u8s",
38+
"field2": "x8@m2k#z3w4p$q5v*n6r9j&h0c1u7s",
39+
"field3": "m7#x1k$z2w3p@q4v*n5r8j&h9c0u6s",
40+
"field4": "k6$m0x#z1w2p@q3v*n4r7j&h8c9u5s",
41+
"field5": "x5@k9m#z0w1p$q2v*n3r6j&h7c8u4s",
42+
"field6": "m4#x8k$z9w0p@q1v*n2r5j&h6c7u3s",
43+
"field7": "k3$x7m#z8w9p@q0v*n1r4j&h5c6u2s",
44+
"field8": "x2@m6k#z7w8p$q9v*n0r3j&h4c5u1s",
45+
"field9": "m1#k5x$z6w7p@q8v*n9r2j&h3c4u0s",
46+
"field10": "k0$x4m#z5w6p@q7v*n8r1j&h2c3u9s",
47+
"field11": "x9@m3k#z4w5p$q6v*n7r0j&h1c2u8s",
48+
"field12": "m8#x2k$z3w4p@q5v*n6r9j&h0c1u7s",
49+
"field13": "k7$m1x#z2w3p@q4v*n5r8j&h9c0u6s",
50+
"field14": "x6@k0m#z1w2p$q3v*n4r7j&h8c9u5s",
51+
"field15": "m5#x9k$z0w1p@q2v*n3r6j&h7c8u4s"
52+
},
53+
"embedded_str_doc_4": {
54+
"field1": "k1$x5m#z6w7p@q8v*n9r2j&h3c4u0s9f8d",
55+
"field2": "x0@m4k#z5w6p$q7v*n8r1j&h2c3u9s7g6e",
56+
"field3": "m9#k3x$z4w5p@q6v*n7r0j&h1c2u8s5b4a",
57+
"field4": "k8$x2m#z3w4p@q5v*n6r9j&h0c1u7s3v2t",
58+
"field5": "x7@m1k#z2w3p$q4v*n5r8j&h9c0u6s1y0w",
59+
"field6": "m6#x0k$z1w2p@q3v*n4r7j&h8c9u5s9i8o",
60+
"field7": "k5$m9x#z0w1p@q2v*n3r6j&h7c8u4s7l6p",
61+
"field8": "x4@k8m#z9w0p$q1v*n2r5j&h6c7u3s5m4n",
62+
"field9": "m3#x7k$z8w9p@q0v*n1r4j&h5c6u2s3q2r",
63+
"field10": "k2$x6m#z7w8p@q9v*n0r3j&h4c5u1s1x0z",
64+
"field11": "p7#q8r$s9t@u0v*w1x&y2z3a4b5c6d",
65+
"field12": "f3$g4h#i5j@k6l*m7n&o8p9q0r1s2t",
66+
"field13": "v5@w6x#y7z$a8b*c9d&e0f1g2h3i4j",
67+
"field14": "n2#o3p$q4r@s5t*u6v&w7x8y9z0a1b",
68+
"field15": "j8$k9l#m0n@o1p*q2r&s3t4u5v6w7x"
69+
},
70+
"embedded_str_doc_5": {
71+
"field1": "d1@e2f#g3h$i4j*k5l&m6n7o8p9q0r",
72+
"field2": "z7$a8b#c9d@e0f*g1h&i2j3k4l5m6n",
73+
"field3": "v3@w4x#y5z$a6b*c7d&e8f9g0h1i2j",
74+
"field4": "r9#s0t$u1v@w2x*y3z&a4b5c6d7e8f",
75+
"field5": "n5$o6p#q7r@s8t*u9v&w0x1y2z3a4b",
76+
"field6": "j1@k2l#m3n$o4p*q5r&s6t7u8v9w0x",
77+
"field7": "f7#g8h$i9j@k0l*m1n&o2p3q4r5s6t",
78+
"field8": "b3@c4d#e5f$g6h*i7j&k8l9m0n1o2p",
79+
"field9": "x9$y0z#a1b@c2d*e3f&g4h5i6j7k8l",
80+
"field10": "t5#u6v$w7x@y8z*a9b&c0d1e2f3g4h",
81+
"field11": "p1@q2r#s3t$u4v*w5x&y6z7a8b9c0d",
82+
"field12": "l7#m8n$o9p@q0r*s1t&u2v3w4x5y6z",
83+
"field13": "h3@i4j#k5l$m6n*o7p&q8r9s0t1u2v",
84+
"field14": "d9$e0f#g1h@i2j*k3l&m4n5o6p7q8r",
85+
"field15": "z5#a6b$c7d@e8f*g9h&i0j1k2l3m4n"
86+
},
87+
"embedded_str_doc_array": [
88+
{
89+
"field1": "n3@o4p#q5r$s6t*u7v&w8x9y0z1a2b",
90+
"field2": "j9$k0l#m1n@o2p*q3r&s4t5u6v7w8x",
91+
"field3": "f5#g6h$i7j@k8l*m9n&o0p1q2r3s4t",
92+
"field4": "b1@c2d#e3f$g4h*i5j&k6l7m8n9o0p",
93+
"field5": "x7#y8z$a9b@c0d*e1f&g2h3i4j5k6l",
94+
"field6": "t3@u4v#w5x$y6z*a7b&c8d9e0f1g2h",
95+
"field7": "p9$q0r#s1t@u2v*w3x&y4z5a6b7c8d",
96+
"field8": "l5#m6n$o7p@q8r*s9t&u0v1w2x3y4z",
97+
"field9": "h1@i2j#k3l$m4n*o5p&q6r7s8t9u0v",
98+
"field10": "d7$e8f#g9h@i0j*k1l&m2n3o4p5q6r",
99+
"field11": "z3#a4b$c5d@e6f*g7h&i8j9k0l1m2n",
100+
"field12": "v9@w0x#y1z$a2b*c3d&e4f5g6h7i8j",
101+
"field13": "r5#s6t$u7v@w8x*y9z&a0b1c2d3e4f",
102+
"field14": "n1@o2p#q3r$s4t*u5v&w6x7y8z9a0b",
103+
"field15": "j7$k8l#m9n@o0p*q1r&s2t3u4v5w6x"
104+
},
105+
{
106+
"field1": "t1#u2v$w3x@y4z*a5b&c6d7e8f9g0h",
107+
"field2": "p7@q8r#s9t$u0v*w1x&y2z3a4b5c6d",
108+
"field3": "l3#m4n$o5p@q6r*s7t&u8v9w0x1y2z",
109+
"field4": "h9$i0j#k1l@m2n*o3p&q4r5s6t7u8v",
110+
"field5": "d5@e6f#g7h$i8j*k9l&m0n1o2p3q4r",
111+
"field6": "z1#a2b$c3d@e4f*g5h&i6j7k8l9m0n",
112+
"field7": "v7$w8x#y9z@a0b*c1d&e2f3g4h5i6j",
113+
"field8": "r3@s4t#u5v$w6x*y7z&a8b9c0d1e2f",
114+
"field9": "n9#o0p$q1r@s2t*u3v&w4x5y6z7a8b",
115+
"field10": "j5$k6l#m7n@o8p*q9r&s0t1u2v3w4x",
116+
"field11": "f1@g2h#i3j$k4l*m5n&o6p7q8r9s0t",
117+
"field12": "b7#c8d$e9f@g0h*i1j&k2l3m4n5o6p",
118+
"field13": "x3@y4z#a5b$c6d*e7f&g8h9i0j1k2l",
119+
"field14": "t9$u0v#w1x@y2z*a3b&c4d5e6f7g8h",
120+
"field15": "p5#q6r$s7t@u8v*w9x&y0z1a2b3c4d"
121+
}
122+
],
123+
"embedded_int_doc_8": {
124+
"field1": 42,
125+
"field2": 789,
126+
"field3": 156,
127+
"field4": 923,
128+
"field5": 347,
129+
"field6": 681,
130+
"field7": 294,
131+
"field8": 835,
132+
"field9": 167,
133+
"field10": 459,
134+
"field11": 672,
135+
"field12": 381,
136+
"field13": 928,
137+
"field14": 514,
138+
"field15": 760
139+
},
140+
"embedded_int_doc_9": {
141+
"field1": 846,
142+
"field2": 107,
143+
"field3": 582,
144+
"field4": 734,
145+
"field5": 395,
146+
"field6": 861,
147+
"field7": 248,
148+
"field8": 657,
149+
"field9": 419,
150+
"field10": 703,
151+
"field11": 186,
152+
"field12": 542,
153+
"field13": 698,
154+
"field14": 375,
155+
"field15": 829
156+
},
157+
"embedded_int_doc_10": {
158+
"field1": 904,
159+
"field2": 358,
160+
"field3": 621,
161+
"field4": 795,
162+
"field5": 432,
163+
"field6": 876,
164+
"field7": 189,
165+
"field8": 653,
166+
"field9": 407,
167+
"field10": 728,
168+
"field11": 564,
169+
"field12": 391,
170+
"field13": 817,
171+
"field14": 275,
172+
"field15": 938
173+
},
174+
"embedded_int_doc_11": {
175+
"field1": 867,
176+
"field2": 234,
177+
"field3": 695,
178+
"field4": 458,
179+
"field5": 701,
180+
"field6": 316,
181+
"field7": 872,
182+
"field8": 539,
183+
"field9": 684,
184+
"field10": 297,
185+
"field11": 815,
186+
"field12": 463,
187+
"field13": 728,
188+
"field14": 156,
189+
"field15": 934
190+
},
191+
"embedded_int_doc_12": {
192+
"field1": 214,
193+
"field2": 758,
194+
"field3": 436,
195+
"field4": 691,
196+
"field5": 325,
197+
"field6": 809,
198+
"field7": 582,
199+
"field8": 147,
200+
"field9": 763,
201+
"field10": 498,
202+
"field11": 625,
203+
"field12": 384,
204+
"field13": 917,
205+
"field14": 256,
206+
"field15": 743
207+
},
208+
"embedded_int_doc_13": {
209+
"field1": 721,
210+
"field2": 358,
211+
"field3": 907,
212+
"field4": 283,
213+
"field5": 649,
214+
"field6": 416,
215+
"field7": 785,
216+
"field8": 532,
217+
"field9": 698,
218+
"field10": 245,
219+
"field11": 871,
220+
"field12": 409,
221+
"field13": 756,
222+
"field14": 183,
223+
"field15": 627
224+
},
225+
"embedded_int_doc_14": {
226+
"field1": 896,
227+
"field2": 453,
228+
"field3": 607,
229+
"field4": 784,
230+
"field5": 329,
231+
"field6": 856,
232+
"field7": 291,
233+
"field8": 673,
234+
"field9": 418,
235+
"field10": 905,
236+
"field11": 562,
237+
"field12": 739,
238+
"field13": 864,
239+
"field14": 285,
240+
"field15": 928
241+
}
242+
}

tests/performance/perftest/models.py

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from django.db import models
22

3+
from django_mongodb_backend.fields import EmbeddedModelField, EmbeddedModelArrayField, ObjectIdField
4+
from django_mongodb_backend.models import EmbeddedModel
35

46
class SmallFlatModel(models.Model):
57
field1 = models.CharField(max_length=100)
@@ -285,4 +287,56 @@ class LargeFlatModel(models.Model):
285287
field247 = models.IntegerField()
286288
field248 = models.IntegerField()
287289
field249 = models.IntegerField()
288-
field250 = models.IntegerField()
290+
field250 = models.IntegerField()
291+
292+
293+
class StringEmbeddedModel(EmbeddedModel):
294+
unique_id = ObjectIdField()
295+
field1 = models.CharField(max_length=100)
296+
field2 = models.CharField(max_length=100)
297+
field3 = models.CharField(max_length=100)
298+
field4 = models.CharField(max_length=100)
299+
field5 = models.CharField(max_length=100)
300+
field6 = models.CharField(max_length=100)
301+
field7 = models.CharField(max_length=100)
302+
field8 = models.CharField(max_length=100)
303+
field9 = models.CharField(max_length=100)
304+
field10 = models.CharField(max_length=100)
305+
field11 = models.CharField(max_length=100)
306+
field12 = models.CharField(max_length=100)
307+
field13 = models.CharField(max_length=100)
308+
field14 = models.CharField(max_length=100)
309+
field15 = models.CharField(max_length=100)
310+
311+
class IntegerEmbeddedModel(EmbeddedModel):
312+
unique_id = ObjectIdField()
313+
field1 = models.IntegerField()
314+
field2 = models.IntegerField()
315+
field3 = models.IntegerField()
316+
field4 = models.IntegerField()
317+
field5 = models.IntegerField()
318+
field6 = models.IntegerField()
319+
field7 = models.IntegerField()
320+
field8 = models.IntegerField()
321+
field9 = models.IntegerField()
322+
field10 = models.IntegerField()
323+
field11 = models.IntegerField()
324+
field12 = models.IntegerField()
325+
field13 = models.IntegerField()
326+
field14 = models.IntegerField()
327+
field15 = models.IntegerField()
328+
329+
class LargeNestedModel(models.Model):
330+
embedded_str_doc_1 = EmbeddedModelField(StringEmbeddedModel)
331+
embedded_str_doc_2 = EmbeddedModelField(StringEmbeddedModel)
332+
embedded_str_doc_3 = EmbeddedModelField(StringEmbeddedModel)
333+
embedded_str_doc_4 = EmbeddedModelField(StringEmbeddedModel)
334+
embedded_str_doc_5 = EmbeddedModelField(StringEmbeddedModel)
335+
embedded_str_doc_array = EmbeddedModelArrayField(StringEmbeddedModel)
336+
embedded_int_doc_8 = EmbeddedModelField(IntegerEmbeddedModel)
337+
embedded_int_doc_9 = EmbeddedModelField(IntegerEmbeddedModel)
338+
embedded_int_doc_10 = EmbeddedModelField(IntegerEmbeddedModel)
339+
embedded_int_doc_11 = EmbeddedModelField(IntegerEmbeddedModel)
340+
embedded_int_doc_12 = EmbeddedModelField(IntegerEmbeddedModel)
341+
embedded_int_doc_13 = EmbeddedModelField(IntegerEmbeddedModel)
342+
embedded_int_doc_14 = EmbeddedModelField(IntegerEmbeddedModel)

0 commit comments

Comments
 (0)