JuliaSymbolics / SymbolicUtils.jl

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

Use NaNMath lowering by default #535

Closed YingboMa closed 11 months ago

YingboMa commented 11 months ago

@ArnoStrouwen

isaacsas commented 11 months ago

Does this have performance implications?

github-actions[bot] commented 11 months ago

Benchmark Results

master 382a88ffd25eb0... t[master]/t[382a88ffd25eb0...]
overhead/acrule/a+2 1.1 ± 0.26 μs 1.08 ± 0.27 μs 1.02
overhead/acrule/a+2+b 1.09 ± 0.26 μs 1.06 ± 0.22 μs 1.03
overhead/acrule/a+b 0.357 ± 0.011 μs 0.351 ± 0.0073 μs 1.01
overhead/acrule/noop:Int 26.5 ± 0.6 ns 26.4 ± 0.1 ns 1
overhead/acrule/noop:Sym 0.0482 ± 0.0077 μs 0.0483 ± 0.0076 μs 0.997
overhead/rule/noop:Int 0.0445 ± 0.0014 μs 0.0438 ± 0.0017 μs 1.02
overhead/rule/noop:Sym 0.0597 ± 0.003 μs 0.0594 ± 0.0022 μs 1.01
overhead/rule/noop:Term 0.0592 ± 0.0029 μs 0.0586 ± 0.0022 μs 1.01
overhead/ruleset/noop:Int 0.158 ± 0.0026 μs 0.163 ± 0.0025 μs 0.969
overhead/ruleset/noop:Sym 0.193 ± 0.0059 μs 0.19 ± 0.0049 μs 1.02
overhead/ruleset/noop:Term 4.27 ± 0.33 μs 4.31 ± 0.29 μs 0.99
overhead/simplify/noop:Int 0.219 ± 0.0083 μs 0.232 ± 0.0075 μs 0.944
overhead/simplify/noop:Sym 0.234 ± 0.0049 μs 0.245 ± 0.0039 μs 0.953
overhead/simplify/noop:Term 0.0447 ± 0.0039 ms 0.0453 ± 0.0034 ms 0.987
overhead/simplify/randterm (+, *):serial 0.124 ± 0.0026 s 0.125 ± 0.0024 s 0.987
overhead/simplify/randterm (+, *):thread 0.0753 ± 0.018 s 0.0718 ± 0.016 s 1.05
overhead/simplify/randterm (/, *):serial 0.276 ± 0.0092 ms 0.28 ± 0.0082 ms 0.987
overhead/simplify/randterm (/, *):thread 0.32 ± 0.01 ms 0.321 ± 0.0093 ms 0.995
overhead/substitute/a 0.0759 ± 0.0021 ms 0.0737 ± 0.0016 ms 1.03
overhead/substitute/a,b 0.0666 ± 0.0021 ms 0.0645 ± 0.0018 ms 1.03
overhead/substitute/a,b,c 25.9 ± 0.8 μs 22.2 ± 0.7 μs 1.17
polyform/easy_iszero 0.0388 ± 0.0032 ms 0.0387 ± 0.0029 ms 1
polyform/isone 3.4 ± 0 ns 3.1 ± 0.1 ns 1.1
polyform/iszero 1.56 ± 0.035 ms 1.57 ± 0.036 ms 0.988
polyform/simplify_fractions 2.23 ± 0.035 ms 2.22 ± 0.037 ms 1.01
time_to_load 5.31 ± 0.1 s 5.34 ± 0.053 s 0.996

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

YingboMa commented 11 months ago

I don't think there's any.