You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ground truth (uprobes, warm @prrao87 LDBC Q1): main 3,021 → 2,288/exec with everything merged. The remaining ~2,300 break down roughly as:
per-task operator clones (~150–250, spread across print infos/schemas/evaluators), ValueVector/scan-state setup+teardown (~100),
txn machinery (~50), FactorizedTable result assembly, ArtKey::encode temps, hash-table builds.
Attempted and reverted: per-task replica pooling. ProcessorTask::run clones its sink subtree per task (~6 pipelines × subtree).
Pooling it crashed intermittently (native heap corruption in result strings) — pooled task operators inherit construction-time
state (TableScanState positions, per-op vectors) that init* doesn't fully reset, and auditing every operator is a bigger, riskier
project. Reverted cleanly; init hardening stays as its foundation. Details + rationale are on the PR so nobody re-tries it blind.
Activity
adsharma commentedon Oct 17, 2026
@zahariash
Ground truth (uprobes, warm @prrao87 LDBC Q1): main 3,021 → 2,288/exec with everything merged. The remaining ~2,300 break down roughly as:
per-task operator clones (~150–250, spread across print infos/schemas/evaluators), ValueVector/scan-state setup+teardown (~100),
txn machinery (~50), FactorizedTable result assembly, ArtKey::encode temps, hash-table builds.
Attempted and reverted: per-task replica pooling. ProcessorTask::run clones its sink subtree per task (~6 pipelines × subtree).
Pooling it crashed intermittently (native heap corruption in result strings) — pooled task operators inherit construction-time
state (TableScanState positions, per-op vectors) that init* doesn't fully reset, and auditing every operator is a bigger, riskier
project. Reverted cleanly; init hardening stays as its foundation. Details + rationale are on the PR so nobody re-tries it blind.
[-]avoid excessive malloc/free[/-][+]Avoid excessive malloc/free[/+]