From 5bc01f0392fd1cf812b92f78c76c6235005fd001 Mon Sep 17 00:00:00 2001 From: Dmitry Volodin Date: Wed, 6 Mar 2024 12:25:39 +0100 Subject: [PATCH] niquests benchmarks --- .requirements/bench.txt | 3 ++- benchmarks/test_linear_x100_1k.py | 12 ++++++++++++ benchmarks/test_p4_x100_1k.py | 15 +++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.requirements/bench.txt b/.requirements/bench.txt index 5d00dea..32e9a07 100644 --- a/.requirements/bench.txt +++ b/.requirements/bench.txt @@ -2,4 +2,5 @@ requests==2.31.0 httpx==0.27 aiohttp==3.9.3 -aiosonic==0.18.0 \ No newline at end of file +aiosonic==0.18.0 +niquests==3.5.2 \ No newline at end of file diff --git a/benchmarks/test_linear_x100_1k.py b/benchmarks/test_linear_x100_1k.py index d1fff83..e62ceb7 100644 --- a/benchmarks/test_linear_x100_1k.py +++ b/benchmarks/test_linear_x100_1k.py @@ -15,6 +15,7 @@ import aiohttp import aiosonic import httpx +import niquests import pytest import requests @@ -76,6 +77,17 @@ def bench(): _ = resp.content +def test_niquests_sync(httpd: Httpd, benchmark) -> None: + url = f"{httpd.prefix}/bench-1k.txt" + + @benchmark + def bench(): + session = niquests.Session(multiplexed=True) + for _ in range(REPEATS): + resp = session.get(url) + _ = resp.content + + def test_httpx_sync(httpd: Httpd, benchmark) -> None: url = f"{httpd.prefix}/bench-1k.txt" diff --git a/benchmarks/test_p4_x100_1k.py b/benchmarks/test_p4_x100_1k.py index 3fe92f2..6fa8e7a 100644 --- a/benchmarks/test_p4_x100_1k.py +++ b/benchmarks/test_p4_x100_1k.py @@ -16,6 +16,7 @@ import aiohttp import aiosonic import httpx +import niquests import pytest import requests @@ -98,6 +99,20 @@ def bench(): run_on_threadpool(do_request) +def test_niquests_sync(httpd: Httpd, benchmark) -> None: + url = f"{httpd.prefix}/bench-1k.txt" + + def do_request(): + session = niquests.Session(multiplexed=True) + for _ in range(PER_TASK): + resp = session.get(url) + _ = resp.content + + @benchmark + def bench(): + run_on_threadpool(do_request) + + def test_httpx_sync(httpd: Httpd, benchmark) -> None: url = f"{httpd.prefix}/bench-1k.txt"