Skip to content

perf: collapse operator-product specialization to cut TTFX#172

Draft
oameye wants to merge 1 commit into
mainfrom
perf/pin-leaf-return-types
Draft

perf: collapse operator-product specialization to cut TTFX#172
oameye wants to merge 1 commit into
mainfrom
perf/pin-leaf-return-types

Conversation

@oameye

@oameye oameye commented Jun 16, 2026

Copy link
Copy Markdown
Member

No description provided.

@nospecialize/@nospecializeinfer on the three * operator-product methods
(*(QSym,QSym), *(QAdd,QSym), *(QSym,QAdd)) collapses their per-operator-pair
codegen specializations; the bodies only box into Vector{QSym} so the concrete
operator type is irrelevant. Function-barrier return-type assertions in the
canonicalization passes stop the abstract-Vector{QSym} Any-cascade (report_opt
15->5 runtime-dispatch sites). Measured ~1.7s (~10%) first-call reduction on the
JC meanfield+complete workload; results and runtime unchanged.

Adds benchmark/TTFX_REPORT.md documenting the full investigation.
@codecov

codecov Bot commented Jun 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.48%. Comparing base (fe7d49c) to head (4562e4c).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #172   +/-   ##
=======================================
  Coverage   94.48%   94.48%           
=======================================
  Files          23       23           
  Lines        2157     2157           
=======================================
  Hits         2038     2038           
  Misses        119      119           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@oameye oameye marked this pull request as draft June 16, 2026 15:47
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.

1 participant