mirror of
https://github.com/hanzo-ds/driver.git
synced 2026-10-30 20:32:40 +00:00
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
16 lines
396 B
Python
16 lines
396 B
Python
import atexit
|
|
import resource
|
|
import sys
|
|
import time
|
|
|
|
_start = time.monotonic()
|
|
|
|
|
|
@atexit.register
|
|
def _report():
|
|
elapsed = time.monotonic() - _start
|
|
rss = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
|
|
if sys.platform != "darwin":
|
|
rss *= 1024 # Linux reports kilobytes, macOS reports bytes.
|
|
print("{:.2f} s / {} bytes max RSS".format(elapsed, rss), file=sys.stderr)
|