AngouriMath
AngouriMath copied to clipboard
Yoakke parser rewrite
186/251 parsing tests pass so far
222/239
232/239
Full report (first line - now, second one - how it was)
Method Mean
ParseEasy 6,815,103 ns
ParseEasy 38,910 ns
ParseHard 88,204,656 ns
ParseHard 4,391,397 ns
SimplifyEasy 180,776 ns
SimplifyEasy 70,517 ns
SimplifyHard 4,622,871,968 ns
SimplifyHard 4,880,437,739 ns
Derivate 107,337 ns
Derivate 48,712 ns
SolveEasy 34,736,589 ns
SolveEasy 34,993,516 ns
SolveEasyMedium 212,730 ns
SolveEasyMedium 83,940 ns
SolveMedium 7,643,240 ns
SolveMedium 2,560,370 ns
SolveMediumHard 370,657,437 ns
SolveMediumHard 378,002,345 ns
SolveHard 3,267,480,539 ns
SolveHard 3,408,514,454 ns
EvalEasy 775 ns
EvalEasy 9 ns
CompileEasy 521,392 ns
CompileEasy 384,260 ns
CompileHard 1,189,803 ns
CompileHard 966,155 ns
RunEasy 38 ns
RunEasy 33 ns
RunMedium 338 ns
RunMedium 299 ns
RunHard 4,059 ns
RunHard 641 ns
(huge performance regression 😢 )
We need to make Yoakke orders of magnitude more performant. Work happens here: https://github.com/LanguageDev/Yoakke/pull/149.
Also I might need to optimize the transformers themselves.