spb/hfmarketdata
Public
Open high-frequency market data platform — FirstRate full-history downloader, DuckDB/Parquet lake, open REST API and React docs platform (www.hfmarketdata.io)
JavaScript 53.7%
Python 38.3%
CSS 4.6%
TypeScript 3.1%
1"""Performance smoke check — 10 000 bars of one contract (and of a continuous series) under 300 ms (p95 target)."""2from __future__ import annotations34import time5from datetime import date67import pytest89BUDGET_MS = 300101112@pytest.fixture13def warm(client_hu, app):14 from futures.backfill import run_backfill15 run_backfill(today=date(2025, 7, 1))16 client_hu.get("/v1/futures/contract/ESU25/bars?interval=1m&limit=10") # warm DuckDB / caches17 client_hu.get("/v1/futures/ES/continuous?interval=1m&from=2025-05-01&limit=10")18 return True192021def _timed(client_hu, url: str, runs: int = 5) -> float:22 best = float("inf")23 for _ in range(runs):24 t = time.perf_counter()25 r = client_hu.get(url)26 best = min(best, (time.perf_counter() - t) * 1000)27 assert r.status_code == 200 and r.headers["X-Row-Count"] == "10000"28 return best293031@pytest.mark.slow32def test_contract_10k_bars_under_budget(client_hu, warm):33 ms = _timed(client_hu, "/v1/futures/contract/ESU25/bars?interval=1m&limit=10000")34 assert ms < BUDGET_MS, f"10 000 contract bars took {ms:.0f} ms"353637@pytest.mark.slow38def test_continuous_10k_bars_under_budget(client_hu, warm):39 ms = _timed(client_hu, "/v1/futures/ES/continuous?interval=1m&from=2025-05-01&limit=10000")40 assert ms < BUDGET_MS, f"10 000 continuous bars took {ms:.0f} ms"414243@pytest.mark.slow44def test_parquet_10k_under_budget(client_hu, warm):45 ms = _timed(client_hu, "/v1/futures/contract/ESU25/bars?interval=1m&limit=10000&format=parquet")46 assert ms < BUDGET_MS, f"10 000 parquet bars took {ms:.0f} ms"47