JuliaSymbolics / SymbolicUtils.jl

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

optimize `isequal` #533

Closed chriselrod closed 11 months ago

chriselrod commented 12 months ago

Do not use zip with. It is slow.

github-actions[bot] commented 12 months ago

Benchmark Results

master 5b4f2b2f8b20ab... t[master]/t[5b4f2b2f8b20ab...]
overhead/acrule/a+2 1.2 ± 0.25 μs 1.17 ± 0.26 μs 1.03
overhead/acrule/a+2+b 1.18 ± 0.25 μs 1.14 ± 0.26 μs 1.03
overhead/acrule/a+b 0.423 ± 0.0075 μs 0.419 ± 0.008 μs 1.01
overhead/acrule/noop:Int 28.6 ± 1 ns 26.3 ± 0.7 ns 1.09
overhead/acrule/noop:Sym 0.0468 ± 0.008 μs 0.0454 ± 0.0074 μs 1.03
overhead/rule/noop:Int 0.0448 ± 0.0014 μs 0.0438 ± 0.0016 μs 1.02
overhead/rule/noop:Sym 0.0578 ± 0.0017 μs 0.0584 ± 0.0021 μs 0.99
overhead/rule/noop:Term 0.0576 ± 0.0017 μs 0.0579 ± 0.0017 μs 0.995
overhead/ruleset/noop:Int 0.166 ± 0.0023 μs 0.162 ± 0.0032 μs 1.03
overhead/ruleset/noop:Sym 0.198 ± 0.0059 μs 0.193 ± 0.0064 μs 1.02
overhead/ruleset/noop:Term 4.4 ± 0.21 μs 4.9 ± 0.24 μs 0.898
overhead/simplify/noop:Int 0.237 ± 0.0069 μs 0.228 ± 0.0068 μs 1.04
overhead/simplify/noop:Sym 0.251 ± 0.0038 μs 0.236 ± 0.0051 μs 1.06
overhead/simplify/noop:Term 0.046 ± 0.0027 ms 0.0488 ± 0.0029 ms 0.943
overhead/simplify/randterm (+, *):serial 0.13 ± 0.0018 s 0.136 ± 0.0018 s 0.952
overhead/simplify/randterm (+, *):thread 0.0907 ± 0.014 s 0.089 ± 0.014 s 1.02
overhead/simplify/randterm (/, *):serial 0.287 ± 0.0075 ms 0.287 ± 0.0077 ms 0.999
overhead/simplify/randterm (/, *):thread 0.346 ± 0.009 ms 0.344 ± 0.0092 ms 1.01
overhead/substitute/a 0.0984 ± 0.0021 ms 0.11 ± 0.0022 ms 0.896
overhead/substitute/a,b 0.0895 ± 0.0021 ms 0.0983 ± 0.002 ms 0.91
overhead/substitute/a,b,c 0.0462 ± 0.001 ms 0.0492 ± 0.0009 ms 0.939
polyform/easy_iszero 0.0447 ± 0.0024 ms 0.0541 ± 0.0028 ms 0.826
polyform/isone 3.1 ± 0.1 ns 3.1 ± 0.1 ns 1
polyform/iszero 1.84 ± 0.034 ms 2.16 ± 0.033 ms 0.85
polyform/simplify_fractions 2.78 ± 0.037 ms 3.14 ± 0.028 ms 0.887
time_to_load 5.36 ± 0.012 s 5.38 ± 0.019 s 0.997

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

codecov-commenter commented 12 months ago

Codecov Report

Merging #533 (5b4f2b2) into master (e3eba85) will increase coverage by 0.09%. The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@            Coverage Diff             @@
##           master     #533      +/-   ##
==========================================
+ Coverage   81.19%   81.28%   +0.09%     
==========================================
  Files          15       15              
  Lines        1856     1865       +9     
==========================================
+ Hits         1507     1516       +9     
  Misses        349      349              
Impacted Files Coverage Δ
src/types.jl 82.01% <100.00%> (+0.25%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more