Files
driver/perf/script_03.py
Kim Gustyr 11a09af20d Regenerate performance benchmarks for 0.2.11
All numbers on one machine and environment, attributed in the docs:
Apple M2 Pro, ClickHouse 25.12.11.4 in Docker, Python 3.11.11.

Methodology change: scripts end their imports with 'import timing'
(new perf/timing.py) which starts the clock and reports wall time and
max RSS at exit. Interpreter startup and imports are excluded from
timings; importing the numpy/pyarrow stack costs ~0.5 s and dominated
sub-second cells under whole-process timing.

New typed-projection PyArrow scripts (21-24) cover analytic extracts:
int and string column subsets, clickhouse-driver vs clickhouse-connect.

All perf scripts carry PEP 723 blocks with pinned versions. Scripts
15-17 updated to the current clickhouse-connect streaming API.

beep boop
2026-07-17 16:09:50 +01:00

17 lines
428 B
Python

# /// script
# dependencies = [
# "requests==2.34.2",
# "ujson==5.13.0",
# ]
# ///
import sys
import requests
from ujson import loads
import timing
query = "SELECT * FROM perftest.ontime WHERE FlightDate < '{}' FORMAT JSONEachRow".format(sys.argv[1])
resp = requests.get('http://localhost:8123/', stream=True, params={'query': query})
data = [list(loads(line).values()) for line in resp.iter_lines(chunk_size=10000)]