JuliaSymbolics / SymbolicUtils.jl

Symbolic expressions, rewriting and simplification
https://docs.sciml.ai/SymbolicUtils/stable/
Other
523 stars 99 forks source link

Fix nested CSE #593

Open spcornelius opened 2 months ago

spcornelius commented 2 months ago

Fixes #568.

github-actions[bot] commented 2 months ago

Benchmark Results

master 07fdc5f6c1bfc5... master/07fdc5f6c1bfc5...
overhead/acrule/a+2 0.743 ± 0.023 μs 0.744 ± 0.025 μs 0.999
overhead/acrule/a+2+b 0.736 ± 0.024 μs 0.736 ± 0.024 μs 1
overhead/acrule/a+b 0.259 ± 0.012 μs 0.256 ± 0.0075 μs 1.01
overhead/acrule/noop:Int 25.9 ± 0.92 ns 26.2 ± 0.93 ns 0.988
overhead/acrule/noop:Sym 0.0341 ± 0.0054 μs 0.0333 ± 0.0057 μs 1.02
overhead/rule/noop:Int 0.037 ± 0.00037 μs 0.0371 ± 0.001 μs 0.996
overhead/rule/noop:Sym 0.0434 ± 0.002 μs 0.0428 ± 0.0017 μs 1.01
overhead/rule/noop:Term 0.0437 ± 0.0017 μs 0.0432 ± 0.0021 μs 1.01
overhead/ruleset/noop:Int 0.131 ± 0.007 μs 0.125 ± 0.0031 μs 1.05
overhead/ruleset/noop:Sym 0.134 ± 0.0039 μs 0.137 ± 0.0036 μs 0.979
overhead/ruleset/noop:Term 6.79 ± 0.49 μs 6.86 ± 0.47 μs 0.99
overhead/simplify/noop:Int 0.136 ± 0.0039 μs 0.151 ± 0.0043 μs 0.901
overhead/simplify/noop:Sym 0.152 ± 0.0046 μs 0.157 ± 0.0033 μs 0.967
overhead/simplify/noop:Term 0.0459 ± 0.0029 ms 0.0442 ± 0.0024 ms 1.04
overhead/simplify/randterm (+, *):serial 0.136 ± 0.0027 s 0.132 ± 0.0029 s 1.03
overhead/simplify/randterm (+, *):thread 0.0846 ± 0.023 s 0.082 ± 0.024 s 1.03
overhead/simplify/randterm (/, *):serial 0.277 ± 0.0098 ms 0.263 ± 0.0094 ms 1.05
overhead/simplify/randterm (/, *):thread 0.339 ± 0.012 ms 0.314 ± 0.011 ms 1.08
overhead/substitute/a 0.122 ± 0.0031 ms 0.125 ± 0.0031 ms 0.983
overhead/substitute/a,b 0.101 ± 0.0028 ms 0.107 ± 0.003 ms 0.945
overhead/substitute/a,b,c 16.9 ± 0.75 μs 18.3 ± 0.79 μs 0.923
polyform/easy_iszero 0.0525 ± 0.0024 ms 0.0536 ± 0.0024 ms 0.979
polyform/isone 2.79 ± 0.01 ns 3.1 ± 0.01 ns 0.9
polyform/iszero 5.59 ± 0.092 ms 5.62 ± 0.086 ms 0.995
polyform/simplify_fractions 3.39 ± 0.069 ms 3.4 ± 0.065 ms 0.997
time_to_load 4.61 ± 0.019 s 4.64 ± 0.023 s 0.995

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).