Skip to content

Emit wide intensity-distribution columns to reduce plate export cost - #219

Merged
trissim merged 2 commits into
mainfrom
codex/perf-wide-intensity-distribution
Sep 29, 2026
Merged

trissim merged 2 commits into
mainfrom
codex/perf-wide-intensity-distribution

Conversation

@trissim

@trissim trissim commented Sep 29, 2026

Copy link
Copy Markdown
Collaborator

MeasureObjectIntensityDistribution expands measured matrices into millions of long rows before export folds them back into object rows. Emit named radial/Zernike columns directly and combine their aligned object domains using the existing columnar carrier. Registered feature declarations preserve indexed runtime lookup, including source names with numeric/bin-like components.

The latest matched 16-well/four-worker pair reduces export from 41.677 to 33.828 seconds and total from 126.103 to 121.644 seconds, with byte-identical CSV. Earlier plate repeats also improve, but the final one-well execution pair is flat; the report retains all measurements and makes no consistent single-thread execution or memory improvement claim. Warm compilation is unchanged. Fresh figures use actual retained native CP one-/16-well makespans, not a multiplied cold-launch reference.

Validation: 463 focused tests pass after rebasing onto current remote main; 11 ordinary fresh-server observations succeed with exact CSV hashes; no new Ruff diagnostics in changed production/test files; report scripts pass Ruff. Benchmark timings, source identities, saved-artifact replay, exact output checks, and PNG/SVG figures are in benchmark/results/perf_wide_intensity_distribution_20260929.

This builds on the already merged #195, #203, and #210 changes. The latest remote main was fetched and checked for overlapping implementation before creating this PR.

Fixes #216.

@trissim
trissim merged commit de23449 into main Sep 29, 2026
18 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Avoid expanding intensity-distribution matrices into millions of export rows

1 participant