• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FEniCS / ffcx / 32232180130
85%
main: 85%

Build:
Build:
LAST BUILD BRANCH: garth/hyperelasticity-golden-master
DEFAULT BRANCH: main
Ran 19 Aug 2026 08:26AM UTC
Jobs 1
Files 59
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Aug 2026 08:20AM UTC coverage: 84.928% (+0.03%) from 84.896%
32232180130

Pull #859

github

garth-wells
Only split the quadrature loop when it has a math function to vectorise

#852 splits the quadrature loop into an evaluation pass and a
contraction pass whenever any fw intermediate exists, so that vectorised
math-library calls (sin, exp, ...) can escape the strided contraction
loop. But an fw intermediate exists for almost every integral -- even a
bare mass matrix has one (the quadrature weight times |detJ|) -- and
when there is nothing to unblock, the split is pure overhead: an extra
loop plus a store/load of every fw through a cache array.

Benchmarked across ten forms on top of this branch (mass matrix, vector
Poisson, elasticity, Taylor-Hood Stokes, N1curl mass, SIPG DG,
HyperElasticity), the unconditional split regresses math-function-free
forms by up to 11-13% at -O2 while leaving the forms #852 targets fully
intact.

Gate the split on the evaluation code actually containing a
MathFunction call, matching the open question raised in #852's own
description. Closes the regression on math-function-free forms (mass
matrix: 0.89x -> 0.99x at -O2) at no cost to the cases #852 targets.
`pytest test/` passes: 46 passed, 1 skipped (unchanged from this
branch).

AI assistance: I used Claude Code (Opus 5) to draft this change,
building on #852. I reviewed and take responsibility for the final
contribution.
Pull Request #859: Only split the quadrature loop when it has a math function to vectorise

23 of 24 new or added lines in 1 file covered. (95.83%)

1 existing line in 1 file now uncovered.

4260 of 5016 relevant lines covered (84.93%)

0.85 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
96.26
-0.03% ffcx/codegeneration/integral_generator.py

Coverage Regressions

Lines Coverage ∆ File
1
82.42
-0.61% ffcx/codegeneration/numba/formatter.py
Jobs
ID Job ID Ran Files Coverage
1 32232180130.1 19 Aug 2026 08:27AM UTC 59
84.93
GitHub Action Run
Source Files on build 32232180130
  • Tree
  • List 59
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #859
  • PR Base - garth/split-quadrature-loop (#32069406207)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc