diff options
author | robot-piglet <[email protected]> | 2025-07-13 23:05:26 +0300 |
---|---|---|
committer | robot-piglet <[email protected]> | 2025-07-13 23:15:55 +0300 |
commit | 8cb77383dfe491d72dd3820518a3c1b49c8487a8 (patch) | |
tree | a5f7ff010010986024367dd7755b55f723775ad0 /contrib/python/multidict/tests/test_multidict_benchmarks.py | |
parent | e3196ab85e3299b286ebe0f8c2d37b6841f7e5e5 (diff) |
Intermediate changes
commit_hash:78e65545069362958586e25e4c5fd36d5ac3a4a2
Diffstat (limited to 'contrib/python/multidict/tests/test_multidict_benchmarks.py')
-rw-r--r-- | contrib/python/multidict/tests/test_multidict_benchmarks.py | 183 |
1 files changed, 136 insertions, 47 deletions
diff --git a/contrib/python/multidict/tests/test_multidict_benchmarks.py b/contrib/python/multidict/tests/test_multidict_benchmarks.py index b27041493ba..7fe62a40b73 100644 --- a/contrib/python/multidict/tests/test_multidict_benchmarks.py +++ b/contrib/python/multidict/tests/test_multidict_benchmarks.py @@ -33,9 +33,10 @@ def test_multidict_insert_str( def test_cimultidict_insert_istr( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: md = case_insensitive_multidict_class() - items = [istr(i) for i in range(100)] + items = [case_insensitive_str_class(i) for i in range(100)] @benchmark def _run() -> None: @@ -60,9 +61,10 @@ def test_multidict_add_str( def test_cimultidict_add_istr( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: base_md = case_insensitive_multidict_class() - items = [istr(i) for i in range(100)] + items = [case_insensitive_str_class(i) for i in range(100)] @benchmark def _run() -> None: @@ -88,9 +90,13 @@ def test_multidict_pop_str( def test_cimultidict_pop_istr( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - md_base = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(200)) - items = [istr(i) for i in range(50, 150)] + md_base = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(200) + ) + items = [case_insensitive_str_class(i) for i in range(50, 150)] @benchmark def _run() -> None: @@ -135,9 +141,16 @@ def test_multidict_update_str( def test_cimultidict_update_istr( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - md = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(150)) - items: Dict[Union[str, istr], istr] = {istr(i): istr(i) for i in range(100, 200)} + md = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(150) + ) + items: Dict[Union[str, istr], istr] = { + case_insensitive_str_class(i): case_insensitive_str_class(i) + for i in range(100, 200) + } @benchmark def _run() -> None: @@ -159,10 +172,17 @@ def test_multidict_update_str_with_kwargs( def test_cimultidict_update_istr_with_kwargs( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - md = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(150)) - items: Dict[Union[str, istr], istr] = {istr(i): istr(i) for i in range(100, 200)} - kwargs = {str(i): istr(i) for i in range(200, 300)} + md = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(150) + ) + items: Dict[Union[str, istr], istr] = { + case_insensitive_str_class(i): case_insensitive_str_class(i) + for i in range(100, 200) + } + kwargs = {str(i): case_insensitive_str_class(i) for i in range(200, 300)} @benchmark def _run() -> None: @@ -185,9 +205,15 @@ def test_multidict_extend_str( def test_cimultidict_extend_istr( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - base_md = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(100)) - items = {istr(i): istr(i) for i in range(200)} + base_md = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ) + items = { + case_insensitive_str_class(i): case_insensitive_str_class(i) for i in range(200) + } @benchmark def _run() -> None: @@ -213,10 +239,16 @@ def test_multidict_extend_str_with_kwargs( def test_cimultidict_extend_istr_with_kwargs( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - base_md = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(100)) - items = {istr(i): istr(i) for i in range(200)} - kwargs = {str(i): istr(i) for i in range(200, 300)} + base_md = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ) + items = { + case_insensitive_str_class(i): case_insensitive_str_class(i) for i in range(200) + } + kwargs = {str(i): case_insensitive_str_class(i) for i in range(200, 300)} @benchmark def _run() -> None: @@ -241,9 +273,13 @@ def test_multidict_delitem_str( def test_cimultidict_delitem_istr( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - md_base = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(100)) - items = [istr(i) for i in range(100)] + md_base = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ) + items = [case_insensitive_str_class(i) for i in range(100)] @benchmark def _run() -> None: @@ -256,56 +292,68 @@ def test_multidict_getall_str_hit( benchmark: BenchmarkFixture, any_multidict_class: Type[MultiDict[str]] ) -> None: md = any_multidict_class( - (f"key{j}", str(f"{i}-{j}")) for i in range(20) for j in range(5) + (f"key{j}", str(f"{i}-{j}")) for i in range(100) for j in range(10) ) + key = "key5" + @benchmark def _run() -> None: - for i in range(30): - md.getall("key3") + for i in range(1000): + md.getall(key) def test_multidict_getall_str_miss( benchmark: BenchmarkFixture, any_multidict_class: Type[MultiDict[str]] ) -> None: md = any_multidict_class( - (f"key{j}", str(f"{i}-{j}")) for i in range(20) for j in range(5) + (f"key{j}", str(f"{i}-{j}")) for i in range(100) for j in range(10) ) + key = "key-miss" + @benchmark def _run() -> None: - for i in range(30): - md.getall("miss", ()) + for i in range(1000): + md.getall(key, ()) def test_cimultidict_getall_istr_hit( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - all_istr = istr("key3") md = case_insensitive_multidict_class( - (f"key{j}", istr(f"{i}-{j}")) for i in range(20) for j in range(5) + (f"key{j}", case_insensitive_str_class(f"{i}-{j}")) + for i in range(100) + for j in range(10) ) + key = case_insensitive_str_class("key5") + @benchmark def _run() -> None: - for i in range(30): - md.getall(all_istr) + for i in range(1000): + md.getall(key) def test_cimultidict_getall_istr_miss( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - miss_istr = istr("miss") md = case_insensitive_multidict_class( - (istr(f"key{j}"), istr(f"{i}-{j}")) for i in range(20) for j in range(5) + (case_insensitive_str_class(f"key{j}"), case_insensitive_str_class(f"{i}-{j}")) + for i in range(100) + for j in range(10) ) + key = case_insensitive_str_class("key-miss") + @benchmark def _run() -> None: - for i in range(30): - md.getall(miss_istr, ()) + for i in range(1000): + md.getall(key, ()) def test_multidict_fetch( @@ -323,9 +371,13 @@ def test_multidict_fetch( def test_cimultidict_fetch_istr( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - md = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(100)) - items = [istr(i) for i in range(100)] + md = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ) + items = [case_insensitive_str_class(i) for i in range(100)] @benchmark def _run() -> None: @@ -360,9 +412,13 @@ def test_multidict_get_miss( def test_cimultidict_get_istr_hit( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - md = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(100)) - items = [istr(i) for i in range(100)] + md = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ) + items = [case_insensitive_str_class(i) for i in range(100)] @benchmark def _run() -> None: @@ -373,9 +429,13 @@ def test_cimultidict_get_istr_hit( def test_cimultidict_get_istr_miss( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - md = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(100)) - items = [istr(i) for i in range(100, 200)] + md = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ) + items = [case_insensitive_str_class(i) for i in range(100, 200)] @benchmark def _run() -> None: @@ -398,9 +458,13 @@ def test_multidict_get_hit_with_default( def test_cimultidict_get_istr_hit_with_default( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - md = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(100)) - items = [istr(i) for i in range(100)] + md = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ) + items = [case_insensitive_str_class(i) for i in range(100)] @benchmark def _run() -> None: @@ -411,9 +475,13 @@ def test_cimultidict_get_istr_hit_with_default( def test_cimultidict_get_istr_with_default_miss( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - md = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(100)) - items = [istr(i) for i in range(100, 200)] + md = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ) + items = [case_insensitive_str_class(i) for i in range(100, 200)] @benchmark def _run() -> None: @@ -453,8 +521,12 @@ def test_create_multidict_with_items( def test_create_cimultidict_with_items_istr( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - items = [(istr(i), istr(i)) for i in range(100)] + items = [ + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ] @benchmark def _run() -> None: @@ -474,8 +546,11 @@ def test_create_multidict_with_dict( def test_create_cimultidict_with_dict_istr( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - dct = {istr(i): istr(i) for i in range(100)} + dct = { + case_insensitive_str_class(i): case_insensitive_str_class(i) for i in range(100) + } @benchmark def _run() -> None: @@ -496,9 +571,13 @@ def test_create_multidict_with_items_with_kwargs( def test_create_cimultidict_with_items_istr_with_kwargs( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - items = [(istr(i), istr(i)) for i in range(100)] - kwargs = {str(i): istr(i) for i in range(100)} + items = [ + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ] + kwargs = {str(i): case_insensitive_str_class(i) for i in range(100)} @benchmark def _run() -> None: @@ -534,8 +613,12 @@ def test_create_empty_cimultidictproxy( def test_create_cimultidictproxy( benchmark: BenchmarkFixture, + case_insensitive_str_class: type[istr], ) -> None: - items = [(istr(i), istr(i)) for i in range(100)] + items = [ + (case_insensitive_str_class(i), case_insensitive_str_class(i)) + for i in range(100) + ] md = CIMultiDict(items) @benchmark @@ -546,8 +629,11 @@ def test_create_cimultidictproxy( def test_create_from_existing_cimultidict( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - existing = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(5)) + existing = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) for i in range(5) + ) @benchmark def _run() -> None: @@ -557,8 +643,11 @@ def test_create_from_existing_cimultidict( def test_copy_from_existing_cimultidict( benchmark: BenchmarkFixture, case_insensitive_multidict_class: Type[CIMultiDict[istr]], + case_insensitive_str_class: type[istr], ) -> None: - existing = case_insensitive_multidict_class((istr(i), istr(i)) for i in range(5)) + existing = case_insensitive_multidict_class( + (case_insensitive_str_class(i), case_insensitive_str_class(i)) for i in range(5) + ) @benchmark def _run() -> None: |