Repository navigation
Commit 4e7d0ac
2.5.0: the performance pair, and the breaking changes under their own heading (#1231)
The release checklist owes three things this commit provides.
A performance pair. v2.4.0 (de7189b, the 1845th) re-measured beside the release
commit (6a97c07, the 1954th), both on 2026-09-09, on one machine, one entry per
run. Allocation:
SolveHard 1,446,794,112 -> 11,883,024 -99.18%
SolveMediumHard 164,549,808 -> 1,449,266 -99.12%
SimplifyHard 3,632,019,136 -> 331,756,152 -90.87%
SimplifyEasy 128,100 -> 79,282 -38.11%
SolveEasyMedium 97,195 -> 65,648 -32.46%
SolveMedium 661,994 -> 455,925 -31.13%
Three rows went up -- ParseHard +1.77%, ParseEasy +0.84%, Derivate +0.79% -- and
neither is bisected, so both are recorded as unattributed rather than explained.
The composition was checked rather than assumed, because this file records a case
where it failed: the rule-set exchange measured free or better at every step and
summed to +13%. SimplifyHard's four steps predict -90.2% composed; measured
end-to-end it is -90.87%. They compose here, and that is a measurement.
The determinism claim held again, with its two exceptions confirmed. v2.4.0 was
measured for the 1930th on 2026-09-07 and again today: eleven of fourteen rows
reproduce within 0.021% and four to the byte. The only two that moved further are
CompileEasy and CompileHard, which performance-baseline.json already marks ungated
because their allocation includes JIT-compiling a delegate. Today's spread sits
inside the 3.6% it records there.
The breaking changes move from "Unreleased" to "2.5.0 -- since 2.4.0", before the
tag rather than after it. That is the one thing the 2.4.0 section records against
itself: its entries sat under "Unreleased" while 2.4.0 was tagged and published, so
a reader on that version could not tell from the file what they had.
A section for the concurrency fix, which has no was/is table on purpose. A
single-threaded caller computed these values before and computes them now; what
changed is that a concurrent caller does too. The one thing a working program can
observe is that the determinant and inverse now serialise where the polynomial
elimination declines the matrix, and that the elementwise operators do not.
key-commits.txt gains v2.5.0 so the next release measures against this one.
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 6a97c07 commit 4e7d0ac
3 files changed
Lines changed: 117 additions & 1 deletion
File tree
- Sources
- AngouriMath/Docs/WhatsNew
- Tests/DotnetBenchmark
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
45 | 50 | | |
46 | 51 | | |
47 | 52 | | |
| |||
124 | 129 | | |
125 | 130 | | |
126 | 131 | | |
| 132 | + | |
127 | 133 | | |
128 | 134 | | |
129 | 135 | | |
| |||
1339 | 1345 | | |
1340 | 1346 | | |
1341 | 1347 | | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
1342 | 1381 | | |
1343 | 1382 | | |
1344 | 1383 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
183 | 259 | | |
184 | 260 | | |
185 | 261 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
42 | 43 | | |
0 commit comments