@@ -21,7 +21,7 @@ on a path that does not exist and had not run since 2026-01-02 -- ninety-eight m
2121requests went unmeasured. Fixed in
2222[ #775 ] ( https://github.com/asc-community/AngouriMath/issues/775 ) .
2323
24- ** Allocation is reported alongside the timings** from the column after the 1620th . The
24+ ** Allocation is reported alongside the timings** from the 1671st column on . The
2525benchmark class has carried ` [MemoryDiagnoser] ` all along, so the figure was measured on every
2626run and then discarded, because the reporting code asked for ` Mean ` , ` Error ` and ` StdDev ` and
2727nothing else. Asked for by [ #167 ] ( https://github.com/asc-community/AngouriMath/issues/167 ) .
@@ -47,22 +47,57 @@ take a millisecond in total, while a thousand evaluations of freshly built nodes
4747The row is kept as it is so the column history stays comparable, and the two trigonometric
4848benchmarks build their expression afresh on every call for exactly this reason.
4949
50- | Method | [331st](https://github.com/asc-community/AngouriMath/commit/10e6e5a90e7270336b68dc5fd6aa36f3e0e65d2b) | [380th](https://github.com/asc-community/AngouriMath/commit/73ae36488ddb863c1d6f35db5ed2f5dcf1484a26) | [391st](https://github.com/asc-community/AngouriMath/commit/c7e08e6936bfdc2373377bec81ffd160e406244f) | [410th](https://github.com/asc-community/AngouriMath/commit/20814936bc740a9f410af4a4368e9895eab7aaf7) | [483rd](https://github.com/asc-community/AngouriMath/commit/355963dcdf0ff9da568e9f1144ad2b7b68c19584) | [520th](https://github.com/asc-community/AngouriMath/commit/70aa71acb73307c9f7df0aac006faae31b06058c) | [690th](https://github.com/asc-community/AngouriMath/commit/5cc894939cb3657f0aa7ef5a25fd55011058929f) | [826th](https://github.com/asc-community/AngouriMath/commit/87e33ec3590a95dd4ec59ff5c1f77064a64196d1) | [914th](https://github.com/asc-community/AngouriMath/commit/6134338df083a908369b6bcfb69e70a4269ec51b) | [920th](https://github.com/asc-community/AngouriMath/commit/501a0a3a9b2e07cddf92c4446b73ad6e2748253a) | [1034th](https://github.com/asc-community/AngouriMath/commit/a3f48b47795b2dc2b3435152989a6e15639a65b4) | [1066th](https://github.com/asc-community/AngouriMath/commit/a33746651f56a380b6c17913aa844f162f258d8c) | [1090th](https://github.com/asc-community/AngouriMath/commit/9530c5b04484e98023941f7693bbeb1a3282cee6) | [1446th](https://github.com/asc-community/AngouriMath/commit/2abb2b537c03977281f3fc2cab1da2c78c36a5f5) | [1620th](https://github.com/asc-community/AngouriMath/commit/e05d71797f53a9ac7dbdad6075cd7302a91036e7) |
51- | ---------------- | --------------:| ---------------:| ---------------:| --------------:| ----------------:| --------------:| --------------:| --------------:| --------------:| --------------:| --------------:| --------------:| --------------:| -----------------:| --------------:|
52- | ParseEasy | 28,599 | 73,669 | 134,120 | 44,328 | 54,675 | 21,722 | 32,212 | 32,138 | 34,702 | 32,199 | 33,008 | 27,483 | 33,043 | 34,664 | 11,760 ns |
53- | ParseHard | 92,037 | 208,710 | 415,440 | 178,760 | 287,865 | 209,853 | 624,769 | 698,094 | 4,272,898 | 3,862,375 | 4,731,275 | 4,051,823 | 5,284,613 | 5,657,058 | 2,617,362 ns |
54- | SimplifyEasy | 6,225,707 | 16,387,374 | 41,081,822 | 397,973 | 2,594,367 | 168,462 | 225,393 | 281,626 | 122,809 | 79,184 | 94,505 | 86,478 | 102,600 | 87,759 | 153,704 ns |
55- | SimplifyHard | 3,245,613,128 | 8,120,319,273 | 9,715,629,251 | 7,477,089,153 | 13,529,147,530 | 3,015,302,746 | 3,162,675,550 | 3,826,831,860 | 4,024,002,060 | 2,633,113,653 | 3,262,112,233 | 4,540,783,876 | 4,639,170,780 | 4,880,264,786 | 2,848,037,261 ns |
56- | Derivate | 5,550 | 39,895 | 161,507 | 50,858 | 56,255 | 37,702 | 46,083 | 86,751 | 68,604 | 41,388 | 58,340 | 48,376 | 54,228 | 60,425 | 26,808 ns |
57- | SolveEasy | 677,259 | 4,066,049 | 33,760,616 | 7,556,902 | 124,888,489 | 38,935,084 | 42,101,926 | 43,102,578 | 43,778,486 | 42,818,770 | 42,230,213 | 35,415,096 | 45,032,006 | 45,587,157 | 21,829,186 ns |
58- | SolveEasyMedium | 192,319 | 741,114 | 2,861,751 | 646,063 | 789,993 | 124,082 | 154,729 | 142,744 | 138,836 | 78,712 | 110,144 | 88,021 | 106,430 | 108,175 | 48,368 ns |
59- | SolveMedium | 22,487,990 | 126,650,858 | 690,232,457 | 178,691,349 | 350,752,882 | 2,961,363 | 2,174,299 | 2,108,050 | 2,248,458 | 2,449,733 | 2,996,001 | 2,661,744 | 3,272,498 | 4,409,082 | 783,737 ns |
60- | SolveMediumHard | > 1 h | > 1 h | 12,033,099,074 | 2,754,157,261 | 5,779,298,835 | 240,930,082 | 258,560,720 | 309,944,856 | 346,532,318 | 258,799,676 | 305,404,083 | 354,286,153 | 409,437,694 | 453,280,166 | 124,316,631 ns |
61- | SolveHard | > 1 h | > 1 h | 21,565,808,100 | 5,636,112,783 | 100,663,275,757 | 1,862,768,773 | 2,532,972,635 | 3,000,655,673 | 3,606,412,386 | 2,425,286,433 | 2,918,112,980 | 3,162,162,893 | 3,353,403,193 | 3,494,150,836 | 1,134,532,585 ns |
62- | EvalEasy | 12,059 | 200,766 | 1,548,901 | 550,676 | 3,354,484 | 34 | 72 | 68 | 84 | 28 | 11 | 11 | 13 | 9 | 2 ns |
63- | CompileEasy | 24,771 | 38,300 | 62,328 | 33,684 | 40,751 | 9,208 | 15,467 | 5,487 | 5,623 | 6,283 | 6,254 | 5,143 | 565,597 | 589,540 | 352,800 ns |
64- | CompileHard | 61,572 | 84,042 | 139,499 | 73,738 | 96,203 | 18,274 | 26,390 | 14,782 | 15,657 | 17,986 | 17,672 | 14,902 | 1,234,995 | 1,321,375 | 595,593 ns |
65- | RunEasy | 138 | 126 | 123 | 117 | 128 | 157 | 170 | 165 | 175 | 167 | 161 | 149 | 48 | 43 | 42 ns |
66- | RunMedium | 833 | 950 | 920 | 844 | 838 | 1,008 | 1,081 | 1,064 | 1,155 | 1,089 | 982 | 875 | 630 | 549 | 318 ns |
67- | RunHard | 1,403 | 1,644 | 1,558 | 1,427 | 1,391 | 1,974 | 2,102 | 2,037 | 2,046 | 2,044 | 1,855 | 1,655 | 1,041 | 928 | 586 ns |
68-
50+ | Method | [331st](https://github.com/asc-community/AngouriMath/commit/10e6e5a90e7270336b68dc5fd6aa36f3e0e65d2b) | [380th](https://github.com/asc-community/AngouriMath/commit/73ae36488ddb863c1d6f35db5ed2f5dcf1484a26) | [391st](https://github.com/asc-community/AngouriMath/commit/c7e08e6936bfdc2373377bec81ffd160e406244f) | [410th](https://github.com/asc-community/AngouriMath/commit/20814936bc740a9f410af4a4368e9895eab7aaf7) | [483rd](https://github.com/asc-community/AngouriMath/commit/355963dcdf0ff9da568e9f1144ad2b7b68c19584) | [520th](https://github.com/asc-community/AngouriMath/commit/70aa71acb73307c9f7df0aac006faae31b06058c) | [690th](https://github.com/asc-community/AngouriMath/commit/5cc894939cb3657f0aa7ef5a25fd55011058929f) | [826th](https://github.com/asc-community/AngouriMath/commit/87e33ec3590a95dd4ec59ff5c1f77064a64196d1) | [914th](https://github.com/asc-community/AngouriMath/commit/6134338df083a908369b6bcfb69e70a4269ec51b) | [920th](https://github.com/asc-community/AngouriMath/commit/501a0a3a9b2e07cddf92c4446b73ad6e2748253a) | [1034th](https://github.com/asc-community/AngouriMath/commit/a3f48b47795b2dc2b3435152989a6e15639a65b4) | [1066th](https://github.com/asc-community/AngouriMath/commit/a33746651f56a380b6c17913aa844f162f258d8c) | [1090th](https://github.com/asc-community/AngouriMath/commit/9530c5b04484e98023941f7693bbeb1a3282cee6) | [1446th](https://github.com/asc-community/AngouriMath/commit/2abb2b537c03977281f3fc2cab1da2c78c36a5f5) | [1620th](https://github.com/asc-community/AngouriMath/commit/e05d71797f53a9ac7dbdad6075cd7302a91036e7) | [1671st](https://github.com/asc-community/AngouriMath/commit/253b5a8d598a9a1d721b777340bd53ae3be12f99) |
51+ | ---------------- | --------------:| ---------------:| ---------------:| --------------:| ----------------:| --------------:| --------------:| --------------:| --------------:| --------------:| --------------:| --------------:| --------------:| -----------------:| --------------:| --------------:|
52+ | ParseEasy | 28,599 | 73,669 | 134,120 | 44,328 | 54,675 | 21,722 | 32,212 | 32,138 | 34,702 | 32,199 | 33,008 | 27,483 | 33,043 | 34,664 | 11,760 ns | 10,857 ns |
53+ | ParseHard | 92,037 | 208,710 | 415,440 | 178,760 | 287,865 | 209,853 | 624,769 | 698,094 | 4,272,898 | 3,862,375 | 4,731,275 | 4,051,823 | 5,284,613 | 5,657,058 | 2,617,362 ns | 2,493,337 ns |
54+ | SimplifyEasy | 6,225,707 | 16,387,374 | 41,081,822 | 397,973 | 2,594,367 | 168,462 | 225,393 | 281,626 | 122,809 | 79,184 | 94,505 | 86,478 | 102,600 | 87,759 | 153,704 ns | 152,631 ns |
55+ | SimplifyHard | 3,245,613,128 | 8,120,319,273 | 9,715,629,251 | 7,477,089,153 | 13,529,147,530 | 3,015,302,746 | 3,162,675,550 | 3,826,831,860 | 4,024,002,060 | 2,633,113,653 | 3,262,112,233 | 4,540,783,876 | 4,639,170,780 | 4,880,264,786 | 2,848,037,261 ns | 2,916,127,943 ns |
56+ | Derivate | 5,550 | 39,895 | 161,507 | 50,858 | 56,255 | 37,702 | 46,083 | 86,751 | 68,604 | 41,388 | 58,340 | 48,376 | 54,228 | 60,425 | 26,808 ns | 25,629 ns |
57+ | SolveEasy | 677,259 | 4,066,049 | 33,760,616 | 7,556,902 | 124,888,489 | 38,935,084 | 42,101,926 | 43,102,578 | 43,778,486 | 42,818,770 | 42,230,213 | 35,415,096 | 45,032,006 | 45,587,157 | 21,829,186 ns | 21,322,368 ns |
58+ | SolveEasyMedium | 192,319 | 741,114 | 2,861,751 | 646,063 | 789,993 | 124,082 | 154,729 | 142,744 | 138,836 | 78,712 | 110,144 | 88,021 | 106,430 | 108,175 | 48,368 ns | 48,863 ns |
59+ | SolveMedium | 22,487,990 | 126,650,858 | 690,232,457 | 178,691,349 | 350,752,882 | 2,961,363 | 2,174,299 | 2,108,050 | 2,248,458 | 2,449,733 | 2,996,001 | 2,661,744 | 3,272,498 | 4,409,082 | 783,737 ns | 796,814 ns |
60+ | SolveMediumHard | > 1 h | > 1 h | 12,033,099,074 | 2,754,157,261 | 5,779,298,835 | 240,930,082 | 258,560,720 | 309,944,856 | 346,532,318 | 258,799,676 | 305,404,083 | 354,286,153 | 409,437,694 | 453,280,166 | 124,316,631 ns | 129,750,583 ns |
61+ | SolveHard | > 1 h | > 1 h | 21,565,808,100 | 5,636,112,783 | 100,663,275,757 | 1,862,768,773 | 2,532,972,635 | 3,000,655,673 | 3,606,412,386 | 2,425,286,433 | 2,918,112,980 | 3,162,162,893 | 3,353,403,193 | 3,494,150,836 | 1,134,532,585 ns | 1,365,230,469 ns |
62+ | EvalEasy | 12,059 | 200,766 | 1,548,901 | 550,676 | 3,354,484 | 34 | 72 | 68 | 84 | 28 | 11 | 11 | 13 | 9 | 2 ns | 2 ns |
63+ | EvalTrig | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | 1,344,115 ns |
64+ | EvalTrigPrecise | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | 43,285,515 ns |
65+ | CompileEasy | 24,771 | 38,300 | 62,328 | 33,684 | 40,751 | 9,208 | 15,467 | 5,487 | 5,623 | 6,283 | 6,254 | 5,143 | 565,597 | 589,540 | 352,800 ns | 352,449 ns |
66+ | CompileHard | 61,572 | 84,042 | 139,499 | 73,738 | 96,203 | 18,274 | 26,390 | 14,782 | 15,657 | 17,986 | 17,672 | 14,902 | 1,234,995 | 1,321,375 | 595,593 ns | 596,664 ns |
67+ | RunEasy | 138 | 126 | 123 | 117 | 128 | 157 | 170 | 165 | 175 | 167 | 161 | 149 | 48 | 43 | 42 ns | 42 ns |
68+ | RunMedium | 833 | 950 | 920 | 844 | 838 | 1,008 | 1,081 | 1,064 | 1,155 | 1,089 | 982 | 875 | 630 | 549 | 318 ns | 320 ns |
69+ | RunHard | 1,403 | 1,644 | 1,558 | 1,427 | 1,391 | 1,974 | 2,102 | 2,037 | 2,046 | 2,044 | 1,855 | 1,655 | 1,041 | 928 | 586 ns | 582 ns |
70+
71+
72+
73+ ## Allocation, from the 1671st
74+
75+ Bytes allocated per operation, measured in the same run as the 1671st column above. There is
76+ one column because this is the first version measured for it; later runs add to it the way the
77+ timings do.
78+
79+ | Method | [ 1671st] ( https://github.com/asc-community/AngouriMath/commit/253b5a8d598a9a1d721b777340bd53ae3be12f99 ) |
80+ | ---| --:|
81+ | ParseEasy | 18,052 B |
82+ | ParseHard | 3,486,004 B |
83+ | SimplifyEasy | 127,578 B |
84+ | SimplifyHard | 3,710,538,008 B |
85+ | Derivate | 52,821 B |
86+ | SolveEasy | 20,213,448 B |
87+ | SolveEasyMedium | 79,613 B |
88+ | SolveMedium | 553,368 B |
89+ | SolveMediumHard | 152,243,208 B |
90+ | SolveHard | 1,341,716,112 B |
91+ | EvalEasy | none |
92+ | EvalTrig | 1,341,378 B |
93+ | EvalTrigPrecise | 12,743,208 B |
94+ | CompileEasy | 16,200 B |
95+ | CompileHard | 37,944 B |
96+ | RunEasy | none |
97+ | RunMedium | none |
98+ | RunHard | none |
99+
100+ ** ` EvalEasy ` allocating nothing is the proof of the caching note above** , rather than a further
101+ argument for it. Evaluating ` 1 + 2 + log(2, 3) + sqrt(4) - 4 ^ 7 + e * pi ` cannot allocate zero
102+ bytes; a dictionary lookup can. ` RunEasy ` , ` RunMedium ` and ` RunHard ` allocate nothing for the
103+ honest reason -- a compiled delegate over ` Complex ` has nothing to put on the heap.
0 commit comments