JuliaSymbolics / SymbolicUtils.jl

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

New EGraphs integration #591

Open 0x0f0f0f opened 2 months ago

github-actions[bot] commented 2 months ago

Benchmark Results

master ef35bf3ff7f232... master/ef35bf3ff7f232...
overhead/acrule/a+2 0.733 ± 0.022 μs 0.74 ± 0.02 μs 0.991
overhead/acrule/a+2+b 0.727 ± 0.024 μs 0.733 ± 0.018 μs 0.992
overhead/acrule/a+b 0.249 ± 0.011 μs 0.252 ± 0.0071 μs 0.987
overhead/acrule/noop:Int 25 ± 0.05 ns 25.9 ± 0.06 ns 0.965
overhead/acrule/noop:Sym 0.034 ± 0.005 μs 0.0339 ± 0.0059 μs 1
overhead/rule/noop:Int 0.0371 ± 0.0011 μs 0.0382 ± 0.00038 μs 0.972
overhead/rule/noop:Sym 0.0425 ± 0.0015 μs 0.0498 ± 0.0015 μs 0.854
overhead/rule/noop:Term 0.0435 ± 0.0019 μs 0.0496 ± 0.0014 μs 0.877
overhead/ruleset/noop:Int 0.122 ± 0.002 μs 0.125 ± 0.0062 μs 0.977
overhead/ruleset/noop:Sym 0.143 ± 0.0042 μs 0.145 ± 0.0043 μs 0.988
overhead/ruleset/noop:Term 6.72 ± 0.51 μs 4.72 ± 0.28 μs 1.42
overhead/simplify/noop:Int 0.142 ± 0.0069 μs 0.157 ± 0.0071 μs 0.907
overhead/simplify/noop:Sym 0.16 ± 0.0035 μs 0.166 ± 0.0039 μs 0.966
overhead/simplify/noop:Term 0.044 ± 0.0027 ms 0.0423 ± 0.0024 ms 1.04
overhead/simplify/randterm (+, *):serial 0.134 ± 0.0022 s 0.127 ± 0.0057 s 1.05
overhead/simplify/randterm (+, *):thread 0.0836 ± 0.027 s 0.0821 ± 0.027 s 1.02
overhead/simplify/randterm (/, *):serial 0.272 ± 0.0097 ms 0.254 ± 0.0097 ms 1.07
overhead/simplify/randterm (/, *):thread 0.327 ± 0.011 ms 0.306 ± 0.011 ms 1.07
overhead/substitute/a 0.123 ± 0.0033 ms 0.0902 ± 0.0024 ms 1.36
overhead/substitute/a,b 0.101 ± 0.003 ms 0.0775 ± 0.0024 ms 1.31
overhead/substitute/a,b,c 16.7 ± 0.75 μs 19.2 ± 0.81 μs 0.873
polyform/easy_iszero 0.0531 ± 0.0024 ms 0.0407 ± 0.0022 ms 1.3
polyform/isone 2.79 ± 0.01 ns 3.1 ± 0.009 ns 0.9
polyform/iszero 5.53 ± 0.099 ms 4.8 ± 0.079 ms 1.15
polyform/simplify_fractions 3.38 ± 0.067 ms 3.3 ± 0.059 ms 1.03
time_to_load 4.58 ± 0.031 s 4.6 ± 0.063 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).