Skip to content

cadence-diff 1.2.0

Latest

Choose a tag to compare

@rai-himanshu07 rai-himanshu07 released this 16 Aug 18:03

cadence-diff 1.2.0

Performance

Large-workbook dependency analysis is now dramatically faster, resolving a 2+ hour wall time on complex real-world pairs.

Representative pair: 12 sheets / about 1 million cells / 186,000 formula cells / 40 billion projected edges

Phase Before (1.1.0) After (1.2.0) Speedup
Dependency index build 177.4 s 31.45 s 5.6x
Excel diff (diffing_excel) 7,882.9 s 257.2 s 30.6x
Full unscoped end-to-end (Linux) 8,805 s 1,141.8 s 7.7x
Full unscoped end-to-end (Win11 QEMU) - 2,281.4 s -

Peak RSS on the full run was 2.434 GiB on Windows and 2.636 GiB on Linux, both well within the 6 GiB worker budget.

Memory safety

FormulaCycleGraph candidate memoization is now bounded by two independent hard caps:

  • 131,072 entries, above the representative workload's 120,205 entries (zero evictions on that workload)
  • 2,000,000 retained memberships, over four times its 462,484 memberships

A dual-cap LRU enforces both limits before insertion. A candidate set that alone exceeds the membership cap is used for the current calculation but is not retained.

Changes

  • Added regime/delta closure decomposition with a parts-based impact accumulator.
  • Deduplicated rectangular and symbolic dependency storage with grouped dependents and spatial indexes.
  • Reworked chart and PowerPoint impact propagation to reuse closure parts instead of repeatedly materializing large downstream cones.
  • Added sequential Excel progress phases with per-sheet alignment detail.
  • Added adversarial contracts for cache entries, memberships, eviction parity, oversized-set handling, and below-refusal workload shapes.

Compatibility

All finding populations, severity counts, evidence digests, coverage outputs, and public APIs are unchanged. The frozen compatibility harness (50 atomics, 47 decisions, 47 spatial items, evidence digest 7c266bd5...) passes byte-identically.

Verification

  • 1,636 tests
  • Ruff
  • Pyright on native and Windows platforms
  • Public-tree, dependency, and distribution audits
  • Clean-wheel real preflight
  • Full Win11 QEMU unscoped acceptance: 683,883 findings, exact evidence digest, unchanged source hashes, 2.434 GiB peak RSS