Skip to content

Conversation

AayushSabharwal
Copy link
Member

@AayushSabharwal AayushSabharwal commented Jun 27, 2025

Currently implemented to be mostly identical to the old ADT. Will add Const and ArrayOp in future PRs to be able to limit the scope of individual PRs.

We don't want to repeat the MTKv10 PR :D

Copy link
Contributor

github-actions bot commented Jun 27, 2025

Benchmark Results

master c7fa1e2... master / c7fa1e2...
overhead/acrule/a+2 0.983 ± 0.25 μs 0.911 ± 0.22 μs 1.08 ± 0.38
overhead/acrule/a+2+b 0.976 ± 0.27 μs 1.07 ± 0.21 μs 0.916 ± 0.31
overhead/acrule/a+b 0.271 ± 0.027 μs 0.219 ± 0.071 μs 1.23 ± 0.42
overhead/acrule/noop:Int 1.56 ± 0.92 ns 1.55 ± 0.01 ns 1.01 ± 0.59
overhead/acrule/noop:Sym 22.1 ± 6.7 ns 22 ± 6 ns 1.01 ± 0.41
overhead/get_degrees/large_poly 0.149 ± 0.0081 s 0.0655 ± 0.0057 s 2.28 ± 0.23
overhead/rule/noop:Int 0.0344 ± 0.024 μs 0.0416 ± 0.025 μs 0.826 ± 0.76
overhead/rule/noop:Sym 0.0334 ± 0.025 μs 0.0501 ± 0.025 μs 0.666 ± 0.59
overhead/rule/noop:Term 0.0334 ± 0.025 μs 0.0501 ± 0.024 μs 0.667 ± 0.59
overhead/ruleset/noop:Int 0.12 ± 0.012 μs 0.053 ± 0.003 μs 2.28 ± 0.26
overhead/ruleset/noop:Sym 0.129 ± 0.037 μs 0.0538 ± 0.0021 μs 2.4 ± 0.7
overhead/ruleset/noop:Term 5.09 ± 0.74 μs 3.65 ± 0.056 μs 1.39 ± 0.2
overhead/simplify/noop:Int 0.279 ± 0.031 μs 1.56 ± 0.01 ns 179 ± 20
overhead/simplify/noop:Sym 0.266 ± 0.033 μs 0.0507 ± 0.0003 μs 5.24 ± 0.66
overhead/simplify/noop:Term 0.0532 ± 0.0055 ms 15.4 ± 0.44 μs 3.46 ± 0.37
overhead/simplify/randterm (+, *):serial 0.128 ± 0.0087 s 0.0426 ± 0.00074 s 3 ± 0.21
overhead/simplify/randterm (+, *):thread 0.0729 ± 0.0059 s 28.5 ± 9.7 ms 2.55 ± 0.9
overhead/simplify/randterm (/, *):serial 0.263 ± 0.026 ms 0.122 ± 0.02 ms 2.16 ± 0.41
overhead/simplify/randterm (/, *):thread 0.295 ± 0.029 ms 0.133 ± 0.022 ms 2.22 ± 0.42
overhead/substitute/a 0.109 ± 0.011 ms 0.0529 ± 0.0053 ms 2.06 ± 0.3
overhead/substitute/a,b 0.0922 ± 0.0098 ms 0.0512 ± 0.0049 ms 1.8 ± 0.26
overhead/substitute/a,b,c 21.4 ± 2.4 μs 13.9 ± 1.9 μs 1.54 ± 0.27
polyform/easy_iszero 0.0417 ± 0.0063 ms 0.0437 ± 0.00079 ms 0.954 ± 0.14
polyform/isone 3.1 ± 0.01 ns 2.79 ± 0.01 ns 1.11 ± 0.0053
polyform/iszero 1.44 ± 0.03 ms 1.44 ± 0.025 ms 0.999 ± 0.027
polyform/simplify_fractions 1.95 ± 0.11 ms 2.32 ± 0.05 ms 0.84 ± 0.05
time_to_load 1.1 ± 0.0063 s 1.11 ± 0.011 s 0.987 ± 0.012

Benchmark Plots

A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.
Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

@AayushSabharwal
Copy link
Member Author

The transition is more or less complete. However, we are currently much slower. I'll investigate why.

@AayushSabharwal AayushSabharwal changed the base branch from master to v4 August 4, 2025 14:50
@AayushSabharwal AayushSabharwal marked this pull request as ready for review August 5, 2025 13:34
@AayushSabharwal AayushSabharwal merged commit 85dcaf6 into JuliaSymbolics:v4 Aug 5, 2025
3 of 16 checks passed
@AayushSabharwal AayushSabharwal deleted the v4 branch August 5, 2025 13:34
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