Skip to content

Compute legacy file stats from the aggregate stats accumulators - #10846

Merged
robert3005 merged 1 commit into
developfrom
rk/single-pass-file-stats
Oct 27, 2026
Merged

robert3005 merged 1 commit into
developfrom
rk/single-pass-file-stats

Conversation

@robert3005

Copy link
Copy Markdown
Contributor

The file writer accumulated every column's stats twice: once into the nested aggregate stats tree and again into separate legacy top-level accumulators. Derive the legacy top-level stats from the nested tree instead, adding a LegacyOnly node for the own stats of non-nullable top-level struct fields, which only the legacy layout records.

The file writer accumulated every column's stats twice: once into the
nested aggregate stats tree and again into separate legacy top-level
accumulators. Derive the legacy top-level stats from the nested tree
instead, adding a LegacyOnly node for the own stats of non-nullable
top-level struct fields, which only the legacy layout records.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015LeUVVJGV8WkmDDtHukJFD
Signed-off-by: Claude <noreply@anthropic.com>
@robert3005 robert3005 added the changelog/fix A bug fix label Oct 26, 2026
@codspeed

codspeed Bot commented Oct 26, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 10.6%

3 warnings, 1 note

⚠️ Walltime results may be unreliable

Some benchmarks used the Walltime instrument outside CodSpeed Macro Runners, which can make the results inconsistent.

Learn more about Macro Runners

See affected benchmarks

⚠️ Unable to measure the execution of 2 benchmarks

These benchmarks measured no execution time, so their results are not comparable and count as unchanged. This usually happens when the compiler removes the code under test.

Prevent compiler optimizations

See affected benchmarks

⚠️ 20 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

ℹ️ 40 benchmarks have no flamegraph

The flamegraph wasn't generated: the symbols of the profiling trace could not be resolved, because no information about the language frames was collected.

See affected benchmarks

⚡ 1 improved benchmark
✅ 2438 untouched benchmarks
⏩ 12 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
⚡ Walltime deferred_bool_avx512[i64, PerRowPerRow] 3.9 µs 3.6 µs +10.6%

Tip

Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.


Comparing rk/single-pass-file-stats (f5accc5) with develop (a59294e)

Open in CodSpeed

Footnotes

  1. 12 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@robert3005
robert3005 merged commit cd45524 into develop Oct 27, 2026
109 of 110 checks passed
@robert3005
robert3005 deleted the rk/single-pass-file-stats branch October 27, 2026 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/fix A bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants