SymbolicML / DynamicExpressions.jl

Ridiculously fast symbolic expressions
https://symbolicml.org/DynamicExpressions.jl/dev
Apache License 2.0
103 stars 15 forks source link

Remove type assertions in evaluation code #28

Closed MilesCranmer closed 7 months ago

coveralls commented 1 year ago

Pull Request Test Coverage Report for Build 4845720360


Files with Coverage Reduction New Missed Lines %
src/EvaluateEquation.jl 1 99.64%
src/InterfaceSymbolicUtils.jl 2 66.67%
src/precompile.jl 2 80.8%
src/SimplifyEquation.jl 2 86.42%
<!-- Total: 7 -->
Totals Coverage Status
Change from base Build 4824867612: 0.0%
Covered Lines: 991
Relevant Lines: 1116

💛 - Coveralls
github-actions[bot] commented 1 year ago

Benchmark Results

master 8f619d01b001c9... t[master]/t[8f619d01b001c9...]
eval/ComplexF32/evaluation 9.65 ± 0.55 ms 9.65 ± 0.56 ms 1
eval/ComplexF64/evaluation 12.2 ± 0.76 ms 12 ± 0.68 ms 1.02
eval/Float32/derivative 17 ± 0.94 ms 17.3 ± 1.1 ms 0.983
eval/Float32/derivative_turbo 18.1 ± 0.79 ms 18.1 ± 0.77 ms 1
eval/Float32/evaluation 3.36 ± 0.25 ms 3.51 ± 0.25 ms 0.957
eval/Float32/evaluation_turbo 0.849 ± 0.051 ms 0.867 ± 0.055 ms 0.98
eval/Float64/derivative 24.1 ± 4.9 ms 24.2 ± 4.9 ms 0.995
eval/Float64/derivative_turbo 26 ± 4.9 ms 25.9 ± 4.9 ms 1.01
eval/Float64/evaluation 4.12 ± 0.29 ms 4.16 ± 0.29 ms 0.991
eval/Float64/evaluation_turbo 1.34 ± 0.064 ms 1.35 ± 0.072 ms 0.992
time_to_load 13 ± 0.16 s 13 ± 0.026 s 0.999
utils/combine_operators/break_sharing 0.0539 ± 0.0031 ms 0.0554 ± 0.0035 ms 0.973
utils/convert/break_sharing 0.0556 ± 0.0078 ms 0.058 ± 0.007 ms 0.959
utils/convert/preserve_sharing 0.229 ± 0.014 ms 0.228 ± 0.013 ms 1
utils/copy/break_sharing 0.0497 ± 0.0026 ms 0.0529 ± 0.005 ms 0.94
utils/copy/preserve_sharing 0.221 ± 0.0058 ms 0.222 ± 0.009 ms 0.995
utils/simplify_tree/break_sharing 0.162 ± 0.016 ms 0.166 ± 0.017 ms 0.972

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

MilesCranmer commented 7 months ago

Not needed as value type is simply ::T now.