Skip to content

Commit 3f7a2e9

Browse files
Readjust baseline for ClientRequest benchmarks (#11013)
1 parent 8ceefad commit 3f7a2e9

File tree

1 file changed

+52
-11
lines changed

1 file changed

+52
-11
lines changed

tests/test_benchmarks_client_request.py

Lines changed: 52 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,68 @@
11
"""codspeed benchmarks for client requests."""
22

33
import asyncio
4-
from http.cookies import Morsel
4+
from http.cookies import BaseCookie
55
from typing import Union
66

7+
from multidict import CIMultiDict
78
from pytest_codspeed import BenchmarkFixture
89
from yarl import URL
910

10-
from aiohttp.client_reqrep import ClientRequest
11+
from aiohttp.client_reqrep import ClientRequest, ClientResponse
12+
from aiohttp.cookiejar import CookieJar
13+
from aiohttp.helpers import TimerNoop
1114
from aiohttp.http_writer import HttpVersion11
15+
from aiohttp.tracing import Trace
1216

1317

1418
def test_client_request_update_cookies(
1519
loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture
1620
) -> None:
17-
req = ClientRequest("get", URL("http://python.org"), loop=loop)
18-
morsel: "Morsel[str]" = Morsel()
19-
morsel.set(key="string", val="Another string", coded_val="really")
20-
morsel_cookie = {"str": morsel}
21+
url = URL("http://python.org")
22+
req = ClientRequest("get", url, loop=loop)
23+
cookie_jar = CookieJar()
24+
cookie_jar.update_cookies({"string": "Another string"})
25+
cookies = cookie_jar.filter_cookies(url)
26+
assert cookies["string"].value == "Another string"
2127

2228
@benchmark
2329
def _run() -> None:
24-
req.update_cookies(cookies=morsel_cookie)
30+
req.update_cookies(cookies=cookies)
2531

2632

2733
def test_create_client_request_with_cookies(
2834
loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture
2935
) -> None:
3036
url = URL("http://python.org")
37+
cookie_jar = CookieJar()
38+
cookie_jar.update_cookies({"cookie": "value"})
39+
cookies = cookie_jar.filter_cookies(url)
40+
assert cookies["cookie"].value == "value"
41+
timer = TimerNoop()
42+
traces: list[Trace] = []
43+
headers = CIMultiDict[str]()
3144

3245
@benchmark
3346
def _run() -> None:
3447
ClientRequest(
3548
method="get",
3649
url=url,
3750
loop=loop,
38-
headers=None,
51+
params=None,
52+
skip_auto_headers=None,
53+
response_class=ClientResponse,
54+
proxy=None,
55+
proxy_auth=None,
56+
proxy_headers=None,
57+
timer=timer,
58+
session=None,
59+
ssl=True,
60+
traces=traces,
61+
trust_env=False,
62+
server_hostname=None,
63+
headers=headers,
3964
data=None,
40-
cookies={"cookie": "value"},
65+
cookies=cookies,
4166
auth=None,
4267
version=HttpVersion11,
4368
compress=False,
@@ -50,16 +75,32 @@ def test_create_client_request_with_headers(
5075
loop: asyncio.AbstractEventLoop, benchmark: BenchmarkFixture
5176
) -> None:
5277
url = URL("http://python.org")
78+
timer = TimerNoop()
79+
traces: list[Trace] = []
80+
headers = CIMultiDict({"header": "value", "another": "header"})
81+
cookies = BaseCookie[str]()
5382

5483
@benchmark
5584
def _run() -> None:
5685
ClientRequest(
5786
method="get",
5887
url=url,
5988
loop=loop,
60-
headers={"header": "value", "another": "header"},
89+
params=None,
90+
skip_auto_headers=None,
91+
response_class=ClientResponse,
92+
proxy=None,
93+
proxy_auth=None,
94+
proxy_headers=None,
95+
timer=timer,
96+
session=None,
97+
ssl=True,
98+
traces=traces,
99+
trust_env=False,
100+
server_hostname=None,
101+
headers=headers,
61102
data=None,
62-
cookies=None,
103+
cookies=cookies,
63104
auth=None,
64105
version=HttpVersion11,
65106
compress=False,

0 commit comments

Comments
 (0)