diff --git a/docs/journal.md b/docs/journal.md index 8b1f9cc..2b87ff0 100644 --- a/docs/journal.md +++ b/docs/journal.md @@ -24,3 +24,11 @@ Ran `asof-join-spread` → [results/2026-10-30-1412-asof-join-spread](../results ## 2026-10-30 14:12 EDT (at fe67b08) Re-ran the as-of join benchmark with min/max (reproduce.py now prints them), 10 runs on Apple M4 laptop. FlowState is slower than Polars in both captures: 0.74x at 1M rows and 0.70x at 10M here, 0.71x at both on 2026-10-04. Ranges across the 10 runs do not overlap between the two engines. Absolute times drifted between sessions (Polars 8.7 ms on 10-04, 9.9 ms on 10-30 at 1M rows), so only same-run comparisons are meaningful. Single machine, synthetic data, no thermal or power-state control recorded. + +## 2026-10-30 14:23 EDT (at fdc202b) + +Ran `asof-join-march-build-3c7486a` → [results/2026-10-30-1423-asof-join-march-build-3c7486a](../results/2026-10-30-1423-asof-join-march-build-3c7486a) (exit 0, 10s). Notes: _TODO_ + +## 2026-10-30 14:23 EDT (at fdc202b) + +Tested the 'stale March build' explanation: built the kernel and Python package at 3c7486a (README that claimed 1.8x) in a separate worktree with the same pinned Polars 1.38.1/pandas/pyarrow and Python 3.14.3, and ran today's reproduce.py against it, 10 runs, 1M x 500K rows, 1K symbols. FlowState 12.9 ms vs Polars 8.9 ms: still slower, ranges do not overlap. So the March kernel does not explain the 1.8x claim. Not ruled out: a different dataset, or Polars being faster now than in March (the March README says only 'Polars 1.x', no version). The March kernel was built with today's Rust toolchain, and the benchmark script is today's, not March's. Note: pow records git sha of the main checkout; the code under test was the 3c7486a worktree. diff --git a/results/2026-10-30-1423-asof-join-march-build-3c7486a/cmd.txt b/results/2026-10-30-1423-asof-join-march-build-3c7486a/cmd.txt new file mode 100644 index 0000000..3b0cf8c --- /dev/null +++ b/results/2026-10-30-1423-asof-join-march-build-3c7486a/cmd.txt @@ -0,0 +1 @@ +/private/tmp/claude-501/-Users-ryanhamby-dev-drillpad/6704cbf7-1607-4d44-808b-1a4cc22ae675/scratchpad/wt/.venv/bin/python -W ignore /private/tmp/claude-501/-Users-ryanhamby-dev-drillpad/6704cbf7-1607-4d44-808b-1a4cc22ae675/scratchpad/wt/reproduce_current.py --runs 10 diff --git a/results/2026-10-30-1423-asof-join-march-build-3c7486a/env.txt b/results/2026-10-30-1423-asof-join-march-build-3c7486a/env.txt new file mode 100644 index 0000000..c096bb3 --- /dev/null +++ b/results/2026-10-30-1423-asof-join-march-build-3c7486a/env.txt @@ -0,0 +1,12 @@ +date: 2026-10-30 14:23 EDT +git: fdc202b +host-os: Darwin 25.6.0 arm64 +cpu: Apple M4, 10 logical cores +memory: 32 GB +python3: Python 3.14.3 +rustc: rustc 1.99.1 (58cf8f9c3 2026-10-13) (Homebrew) +g++: Apple clang version 17.0.0 (clang-1700.4.4.1) +clang++: Apple clang version 17.0.0 (clang-1700.4.4.1) +go: go version go1.27.1 darwin/arm64 +exit_code: 0 +wall_seconds: 10 diff --git a/results/2026-10-30-1423-asof-join-march-build-3c7486a/output.log b/results/2026-10-30-1423-asof-join-march-build-3c7486a/output.log new file mode 100644 index 0000000..2d00b85 --- /dev/null +++ b/results/2026-10-30-1423-asof-join-march-build-3c7486a/output.log @@ -0,0 +1,11 @@ +FlowState as-of join benchmark + hardware : Apple M4, 10 logical cores, 32 GB RAM + os : macOS-26.6.2-arm64-arm-64bit-Mach-O + python : 3.14.3 + flowstate: 0.1.0 (Rust kernel: yes) + polars : 1.38.1 pandas: 3.0.6 duckdb: not installed pyarrow: 23.0.1 + method : median of 10 runs after 2 warmup; backward join, tolerance none; excludes data generation + +dataset: 1,000,000 left x 500,000 right rows, 1,000 symbols, synthetic random-walk quotes (seeds 42/99), globally timestamp-sorted + polars 8.9 ms (min 8.5, max 9.7; 1.00x vs polars) + flowstate 12.9 ms (min 11.8, max 13.6; 0.69x vs polars)