@@ -33,9 +33,10 @@ def _run() -> None:
33
33
def test_cimultidict_insert_istr (
34
34
benchmark : BenchmarkFixture ,
35
35
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
36
+ case_insensitive_str_class : type [istr ],
36
37
) -> None :
37
38
md = case_insensitive_multidict_class ()
38
- items = [istr (i ) for i in range (100 )]
39
+ items = [case_insensitive_str_class (i ) for i in range (100 )]
39
40
40
41
@benchmark
41
42
def _run () -> None :
@@ -60,9 +61,10 @@ def _run() -> None:
60
61
def test_cimultidict_add_istr (
61
62
benchmark : BenchmarkFixture ,
62
63
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
64
+ case_insensitive_str_class : type [istr ],
63
65
) -> None :
64
66
base_md = case_insensitive_multidict_class ()
65
- items = [istr (i ) for i in range (100 )]
67
+ items = [case_insensitive_str_class (i ) for i in range (100 )]
66
68
67
69
@benchmark
68
70
def _run () -> None :
@@ -88,9 +90,13 @@ def _run() -> None:
88
90
def test_cimultidict_pop_istr (
89
91
benchmark : BenchmarkFixture ,
90
92
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
93
+ case_insensitive_str_class : type [istr ],
91
94
) -> None :
92
- md_base = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (200 ))
93
- items = [istr (i ) for i in range (50 , 150 )]
95
+ md_base = case_insensitive_multidict_class (
96
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
97
+ for i in range (200 )
98
+ )
99
+ items = [case_insensitive_str_class (i ) for i in range (50 , 150 )]
94
100
95
101
@benchmark
96
102
def _run () -> None :
@@ -135,9 +141,16 @@ def _run() -> None:
135
141
def test_cimultidict_update_istr (
136
142
benchmark : BenchmarkFixture ,
137
143
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
144
+ case_insensitive_str_class : type [istr ],
138
145
) -> None :
139
- md = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (150 ))
140
- items : Dict [Union [str , istr ], istr ] = {istr (i ): istr (i ) for i in range (100 , 200 )}
146
+ md = case_insensitive_multidict_class (
147
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
148
+ for i in range (150 )
149
+ )
150
+ items : Dict [Union [str , istr ], istr ] = {
151
+ case_insensitive_str_class (i ): case_insensitive_str_class (i )
152
+ for i in range (100 , 200 )
153
+ }
141
154
142
155
@benchmark
143
156
def _run () -> None :
@@ -159,10 +172,17 @@ def _run() -> None:
159
172
def test_cimultidict_update_istr_with_kwargs (
160
173
benchmark : BenchmarkFixture ,
161
174
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
175
+ case_insensitive_str_class : type [istr ],
162
176
) -> None :
163
- md = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (150 ))
164
- items : Dict [Union [str , istr ], istr ] = {istr (i ): istr (i ) for i in range (100 , 200 )}
165
- kwargs = {str (i ): istr (i ) for i in range (200 , 300 )}
177
+ md = case_insensitive_multidict_class (
178
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
179
+ for i in range (150 )
180
+ )
181
+ items : Dict [Union [str , istr ], istr ] = {
182
+ case_insensitive_str_class (i ): case_insensitive_str_class (i )
183
+ for i in range (100 , 200 )
184
+ }
185
+ kwargs = {str (i ): case_insensitive_str_class (i ) for i in range (200 , 300 )}
166
186
167
187
@benchmark
168
188
def _run () -> None :
@@ -185,9 +205,15 @@ def _run() -> None:
185
205
def test_cimultidict_extend_istr (
186
206
benchmark : BenchmarkFixture ,
187
207
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
208
+ case_insensitive_str_class : type [istr ],
188
209
) -> None :
189
- base_md = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (100 ))
190
- items = {istr (i ): istr (i ) for i in range (200 )}
210
+ base_md = case_insensitive_multidict_class (
211
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
212
+ for i in range (100 )
213
+ )
214
+ items = {
215
+ case_insensitive_str_class (i ): case_insensitive_str_class (i ) for i in range (200 )
216
+ }
191
217
192
218
@benchmark
193
219
def _run () -> None :
@@ -213,10 +239,16 @@ def _run() -> None:
213
239
def test_cimultidict_extend_istr_with_kwargs (
214
240
benchmark : BenchmarkFixture ,
215
241
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
242
+ case_insensitive_str_class : type [istr ],
216
243
) -> None :
217
- base_md = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (100 ))
218
- items = {istr (i ): istr (i ) for i in range (200 )}
219
- kwargs = {str (i ): istr (i ) for i in range (200 , 300 )}
244
+ base_md = case_insensitive_multidict_class (
245
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
246
+ for i in range (100 )
247
+ )
248
+ items = {
249
+ case_insensitive_str_class (i ): case_insensitive_str_class (i ) for i in range (200 )
250
+ }
251
+ kwargs = {str (i ): case_insensitive_str_class (i ) for i in range (200 , 300 )}
220
252
221
253
@benchmark
222
254
def _run () -> None :
@@ -241,9 +273,13 @@ def _run() -> None:
241
273
def test_cimultidict_delitem_istr (
242
274
benchmark : BenchmarkFixture ,
243
275
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
276
+ case_insensitive_str_class : type [istr ],
244
277
) -> None :
245
- md_base = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (100 ))
246
- items = [istr (i ) for i in range (100 )]
278
+ md_base = case_insensitive_multidict_class (
279
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
280
+ for i in range (100 )
281
+ )
282
+ items = [case_insensitive_str_class (i ) for i in range (100 )]
247
283
248
284
@benchmark
249
285
def _run () -> None :
@@ -259,12 +295,13 @@ def test_multidict_getall_str_hit(
259
295
(f"key{ j } " , str (f"{ i } -{ j } " )) for i in range (20 ) for j in range (5 )
260
296
)
261
297
298
+ keys = set (md .keys ())
299
+
262
300
@benchmark
263
301
def _run () -> None :
264
302
for i in range (100 ):
265
- md .getall ("key1" )
266
- md .getall ("key2" )
267
- md .getall ("key3" )
303
+ for key in keys :
304
+ md .getall (key )
268
305
269
306
270
307
def test_multidict_getall_str_miss (
@@ -274,43 +311,51 @@ def test_multidict_getall_str_miss(
274
311
(f"key{ j } " , str (f"{ i } -{ j } " )) for i in range (20 ) for j in range (5 )
275
312
)
276
313
314
+ keys = {f"{ key } -miss" for key in md .keys ()}
315
+
277
316
@benchmark
278
317
def _run () -> None :
279
- for i in range (100 ):
280
- md .getall ("miss1" , ())
281
- md .getall ("miss2" , ())
282
- md .getall ("miss3" , ())
318
+ for key in keys :
319
+ md .getall (key , ())
283
320
284
321
285
322
def test_cimultidict_getall_istr_hit (
286
323
benchmark : BenchmarkFixture ,
287
324
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
325
+ case_insensitive_str_class : type [istr ],
288
326
) -> None :
289
- all_istr = [istr ("key1" ), istr ("key2" ), istr ("key3" )]
290
327
md = case_insensitive_multidict_class (
291
- (f"key{ j } " , istr (f"{ i } -{ j } " )) for i in range (20 ) for j in range (5 )
328
+ (f"key{ j } " , case_insensitive_str_class (f"{ i } -{ j } " ))
329
+ for i in range (20 )
330
+ for j in range (5 )
292
331
)
293
332
333
+ keys = set (md .keys ())
334
+
294
335
@benchmark
295
336
def _run () -> None :
296
337
for i in range (100 ):
297
- for key in all_istr :
338
+ for key in keys :
298
339
md .getall (key )
299
340
300
341
301
342
def test_cimultidict_getall_istr_miss (
302
343
benchmark : BenchmarkFixture ,
303
344
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
345
+ case_insensitive_str_class : type [istr ],
304
346
) -> None :
305
- miss_istr = [istr ("miss-1" ), istr ("miss-2" ), istr ("miss-3" )]
306
347
md = case_insensitive_multidict_class (
307
- (istr (f"key{ j } " ), istr (f"{ i } -{ j } " )) for i in range (20 ) for j in range (5 )
348
+ (case_insensitive_str_class (f"key{ j } " ), case_insensitive_str_class (f"{ i } -{ j } " ))
349
+ for i in range (20 )
350
+ for j in range (5 )
308
351
)
309
352
353
+ keys = {case_insensitive_str_class (f"{ key } -miss" ) for key in md .keys ()}
354
+
310
355
@benchmark
311
356
def _run () -> None :
312
357
for i in range (100 ):
313
- for key in miss_istr :
358
+ for key in keys :
314
359
md .getall (key , ())
315
360
316
361
@@ -329,9 +374,13 @@ def _run() -> None:
329
374
def test_cimultidict_fetch_istr (
330
375
benchmark : BenchmarkFixture ,
331
376
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
377
+ case_insensitive_str_class : type [istr ],
332
378
) -> None :
333
- md = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (100 ))
334
- items = [istr (i ) for i in range (100 )]
379
+ md = case_insensitive_multidict_class (
380
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
381
+ for i in range (100 )
382
+ )
383
+ items = [case_insensitive_str_class (i ) for i in range (100 )]
335
384
336
385
@benchmark
337
386
def _run () -> None :
@@ -366,9 +415,13 @@ def _run() -> None:
366
415
def test_cimultidict_get_istr_hit (
367
416
benchmark : BenchmarkFixture ,
368
417
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
418
+ case_insensitive_str_class : type [istr ],
369
419
) -> None :
370
- md = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (100 ))
371
- items = [istr (i ) for i in range (100 )]
420
+ md = case_insensitive_multidict_class (
421
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
422
+ for i in range (100 )
423
+ )
424
+ items = [case_insensitive_str_class (i ) for i in range (100 )]
372
425
373
426
@benchmark
374
427
def _run () -> None :
@@ -379,9 +432,13 @@ def _run() -> None:
379
432
def test_cimultidict_get_istr_miss (
380
433
benchmark : BenchmarkFixture ,
381
434
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
435
+ case_insensitive_str_class : type [istr ],
382
436
) -> None :
383
- md = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (100 ))
384
- items = [istr (i ) for i in range (100 , 200 )]
437
+ md = case_insensitive_multidict_class (
438
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
439
+ for i in range (100 )
440
+ )
441
+ items = [case_insensitive_str_class (i ) for i in range (100 , 200 )]
385
442
386
443
@benchmark
387
444
def _run () -> None :
@@ -404,9 +461,13 @@ def _run() -> None:
404
461
def test_cimultidict_get_istr_hit_with_default (
405
462
benchmark : BenchmarkFixture ,
406
463
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
464
+ case_insensitive_str_class : type [istr ],
407
465
) -> None :
408
- md = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (100 ))
409
- items = [istr (i ) for i in range (100 )]
466
+ md = case_insensitive_multidict_class (
467
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
468
+ for i in range (100 )
469
+ )
470
+ items = [case_insensitive_str_class (i ) for i in range (100 )]
410
471
411
472
@benchmark
412
473
def _run () -> None :
@@ -417,9 +478,13 @@ def _run() -> None:
417
478
def test_cimultidict_get_istr_with_default_miss (
418
479
benchmark : BenchmarkFixture ,
419
480
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
481
+ case_insensitive_str_class : type [istr ],
420
482
) -> None :
421
- md = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (100 ))
422
- items = [istr (i ) for i in range (100 , 200 )]
483
+ md = case_insensitive_multidict_class (
484
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
485
+ for i in range (100 )
486
+ )
487
+ items = [case_insensitive_str_class (i ) for i in range (100 , 200 )]
423
488
424
489
@benchmark
425
490
def _run () -> None :
@@ -459,8 +524,12 @@ def _run() -> None:
459
524
def test_create_cimultidict_with_items_istr (
460
525
benchmark : BenchmarkFixture ,
461
526
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
527
+ case_insensitive_str_class : type [istr ],
462
528
) -> None :
463
- items = [(istr (i ), istr (i )) for i in range (100 )]
529
+ items = [
530
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
531
+ for i in range (100 )
532
+ ]
464
533
465
534
@benchmark
466
535
def _run () -> None :
@@ -480,8 +549,11 @@ def _run() -> None:
480
549
def test_create_cimultidict_with_dict_istr (
481
550
benchmark : BenchmarkFixture ,
482
551
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
552
+ case_insensitive_str_class : type [istr ],
483
553
) -> None :
484
- dct = {istr (i ): istr (i ) for i in range (100 )}
554
+ dct = {
555
+ case_insensitive_str_class (i ): case_insensitive_str_class (i ) for i in range (100 )
556
+ }
485
557
486
558
@benchmark
487
559
def _run () -> None :
@@ -502,9 +574,13 @@ def _run() -> None:
502
574
def test_create_cimultidict_with_items_istr_with_kwargs (
503
575
benchmark : BenchmarkFixture ,
504
576
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
577
+ case_insensitive_str_class : type [istr ],
505
578
) -> None :
506
- items = [(istr (i ), istr (i )) for i in range (100 )]
507
- kwargs = {str (i ): istr (i ) for i in range (100 )}
579
+ items = [
580
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
581
+ for i in range (100 )
582
+ ]
583
+ kwargs = {str (i ): case_insensitive_str_class (i ) for i in range (100 )}
508
584
509
585
@benchmark
510
586
def _run () -> None :
@@ -540,8 +616,12 @@ def _run() -> None:
540
616
541
617
def test_create_cimultidictproxy (
542
618
benchmark : BenchmarkFixture ,
619
+ case_insensitive_str_class : type [istr ],
543
620
) -> None :
544
- items = [(istr (i ), istr (i )) for i in range (100 )]
621
+ items = [
622
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i ))
623
+ for i in range (100 )
624
+ ]
545
625
md = CIMultiDict (items )
546
626
547
627
@benchmark
@@ -552,8 +632,11 @@ def _run() -> None:
552
632
def test_create_from_existing_cimultidict (
553
633
benchmark : BenchmarkFixture ,
554
634
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
635
+ case_insensitive_str_class : type [istr ],
555
636
) -> None :
556
- existing = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (5 ))
637
+ existing = case_insensitive_multidict_class (
638
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i )) for i in range (5 )
639
+ )
557
640
558
641
@benchmark
559
642
def _run () -> None :
@@ -563,8 +646,11 @@ def _run() -> None:
563
646
def test_copy_from_existing_cimultidict (
564
647
benchmark : BenchmarkFixture ,
565
648
case_insensitive_multidict_class : Type [CIMultiDict [istr ]],
649
+ case_insensitive_str_class : type [istr ],
566
650
) -> None :
567
- existing = case_insensitive_multidict_class ((istr (i ), istr (i )) for i in range (5 ))
651
+ existing = case_insensitive_multidict_class (
652
+ (case_insensitive_str_class (i ), case_insensitive_str_class (i )) for i in range (5 )
653
+ )
568
654
569
655
@benchmark
570
656
def _run () -> None :
0 commit comments