Skip to content

Commit 4a54700

Browse files
authored
Stable benchmarks, sixth attempt (#1210)
See #1201 for details
1 parent ec58b30 commit 4a54700

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

.github/workflows/ci-cd.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -483,10 +483,11 @@ jobs:
483483
- name: Run benchmarks
484484
uses: CodSpeedHQ/action@v3
485485
env:
486-
PYTHONHASHSEED: 42
486+
PYTHONHASHSEED: 0
487487
with:
488488
token: ${{ secrets.CODSPEED_TOKEN }}
489-
run: python -Im pytest --no-cov -vvvvv --codspeed
489+
# Note: -I is missed, otherwise PYTHONHASHSEED is ignored
490+
run: python -m pytest --no-cov -vvvvv --codspeed
490491

491492
test-summary:
492493
name: Tests status

tests/test_multidict_benchmarks.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -295,13 +295,12 @@ def test_multidict_getall_str_hit(
295295
(f"key{j}", str(f"{i}-{j}")) for i in range(100) for j in range(10)
296296
)
297297

298-
keys = set(md.keys())
298+
key = "key5"
299299

300300
@benchmark
301301
def _run() -> None:
302-
for i in range(100):
303-
for key in keys:
304-
md.getall(key)
302+
for i in range(1000):
303+
md.getall(key)
305304

306305

307306
def test_multidict_getall_str_miss(
@@ -311,11 +310,11 @@ def test_multidict_getall_str_miss(
311310
(f"key{j}", str(f"{i}-{j}")) for i in range(100) for j in range(10)
312311
)
313312

314-
keys = {f"{key}-miss" for key in md.keys()}
313+
key = "key-miss"
315314

316315
@benchmark
317316
def _run() -> None:
318-
for key in keys:
317+
for i in range(1000):
319318
md.getall(key, ())
320319

321320

@@ -330,13 +329,12 @@ def test_cimultidict_getall_istr_hit(
330329
for j in range(10)
331330
)
332331

333-
keys = set(md.keys())
332+
key = case_insensitive_str_class("key5")
334333

335334
@benchmark
336335
def _run() -> None:
337-
for i in range(100):
338-
for key in keys:
339-
md.getall(key)
336+
for i in range(1000):
337+
md.getall(key)
340338

341339

342340
def test_cimultidict_getall_istr_miss(
@@ -350,13 +348,12 @@ def test_cimultidict_getall_istr_miss(
350348
for j in range(10)
351349
)
352350

353-
keys = {case_insensitive_str_class(f"{key}-miss") for key in md.keys()}
351+
key = case_insensitive_str_class("key-miss")
354352

355353
@benchmark
356354
def _run() -> None:
357-
for i in range(100):
358-
for key in keys:
359-
md.getall(key, ())
355+
for i in range(1000):
356+
md.getall(key, ())
360357

361358

362359
def test_multidict_fetch(

0 commit comments

Comments
 (0)