Skip to content

docs: update build performance benchmarks (3.0.4)#353

Merged
carlos-alm merged 2 commits intomainfrom
benchmark/build-v3.0.4-20260306-231056
Mar 7, 2026
Merged

docs: update build performance benchmarks (3.0.4)#353
carlos-alm merged 2 commits intomainfrom
benchmark/build-v3.0.4-20260306-231056

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Mar 6, 2026

Automated build benchmark update for 3.0.4 from workflow run #221.

@greptile-apps
Copy link

greptile-apps bot commented Mar 6, 2026

Greptile Summary

This automated PR updates the build performance benchmarks for version 3.0.4, adding new rows to generated/benchmarks/BUILD-BENCHMARKS.md and syncing the summary table in README.md. The embedded JSON data, per-file metrics, and 50k extrapolations are all internally consistent.

Key changes:

  • Native build speed improved by ~50%: 12.3 → 6.2 ms/file
  • WASM build speed slightly regressed: 16.3 → 19 ms/file
  • Three new build phases introduced: AST Nodes, CFG, and Dataflow — consistent with new analysis capabilities in 3.0.4
  • ⚠️ Native no-op rebuild regressed severely: 5ms → 329ms (+6480%) — while the WASM engine holds steady at 7ms. This is a significant real-world regression for users running incremental builds with no changed files, and is worth investigating in the source before this release ships widely.

Confidence Score: 3/5

  • Docs are accurate, but benchmarks reveal a severe native no-op rebuild regression that should be resolved before wide release.
  • The documentation changes themselves are correct and consistent. However, the benchmarks faithfully record a 6480% regression in native no-op rebuild time (5ms → 329ms) — a real runtime issue reflected in these docs. The PR is safe to merge as documentation, but the underlying performance regression warrants investigation.
  • generated/benchmarks/BUILD-BENCHMARKS.md — the incremental rebuild table highlights the native no-op regression worth investigating in source.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Source Files - 177 files] --> B[Parse]
    B --> C[Insert Nodes]
    C --> D[Resolve Imports]
    D --> E[Build Edges]
    E --> F[Structure]
    F --> G[Roles]
    G --> H[AST Nodes]
    H --> I[Complexity]
    I --> J[CFG]
    J --> K[Dataflow]
    K --> L[SQLite DB]

    B -->|Native 413ms| B
    C -->|Native 80ms| C
    D -->|Native 16ms| D
    E -->|Native 143ms| E
    F -->|Native 13ms| F
    G -->|Native 22ms| G
    H -->|Native 300ms| H
    I -->|Native 10ms| I
    J -->|Native 1ms| J
    K -->|Native 76ms| K

    subgraph totals["Build Totals - 3.0.4"]
        N1[Native - 1.1s total - 6.2ms per file]
        W1[WASM - 3.4s total - 19ms per file]
    end

    L --> totals
Loading

Last reviewed commit: 129a529

Comment on lines +87 to +88
| 3.0.4 | native | 329 ↑6480% | 335 ↓11% |
| 3.0.4 | wasm | 7 ~ | 559 ~ |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Significant native no-op rebuild regression

The native no-op rebuild time jumped from 5ms → 329ms (+6480%) in 3.0.4, while the WASM engine remains stable at 7ms. A no-op rebuild should only be checking file hashes against what is stored in the DB — a 65× regression here suggests either a newly introduced DB scan or a lock/connection overhead issue in the native incremental rebuild path.

This is buried in the docs but reflects a real runtime behaviour that will affect users on every incremental build that has no changed files. Worth investigating before shipping 3.0.4 widely.

@carlos-alm carlos-alm merged commit b60ee9d into main Mar 7, 2026
15 checks passed
@carlos-alm carlos-alm deleted the benchmark/build-v3.0.4-20260306-231056 branch March 7, 2026 10:51
@github-actions github-actions bot locked and limited conversation to collaborators Mar 7, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant