SymbolicML / DynamicExpressions.jl

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

Create `AbstractNode` super type #53

Closed MilesCranmer closed 9 months ago

MilesCranmer commented 9 months ago

This will make it easier to add custom metadata to trees – simply create a new type that inherits from AbstractNode with whatever fields are needed.

github-actions[bot] commented 9 months ago

Benchmark Results

master 4f621ecf6037bf... t[master]/t[4f621ecf6037bf...]
eval/ComplexF32/evaluation 13.2 ± 0.92 ms 13.2 ± 0.87 ms 1
eval/ComplexF64/evaluation 15.7 ± 1.1 ms 16 ± 1.2 ms 0.98
eval/Float32/derivative 20.6 ± 2.6 ms 20.7 ± 3.6 ms 0.995
eval/Float32/derivative_turbo 22.2 ± 2.7 ms 22.6 ± 3.5 ms 0.983
eval/Float32/evaluation 4.1 ± 0.35 ms 4.13 ± 0.32 ms 0.992
eval/Float32/evaluation_turbo 1.3 ± 0.12 ms 1.3 ± 0.11 ms 1
eval/Float64/derivative 27.9 ± 0.94 ms 28.9 ± 1.1 ms 0.964
eval/Float64/derivative_turbo 30.8 ± 1.2 ms 0.0318 ± 0.0014 s 0.971
eval/Float64/evaluation 4.21 ± 0.33 ms 4.28 ± 0.34 ms 0.985
eval/Float64/evaluation_turbo 1.74 ± 0.16 ms 1.78 ± 0.13 ms 0.979
time_to_load 1.07 ± 0.0077 s 1.06 ± 0.01 s 1.01
utils/combine_operators 0.073 ± 0.0049 ms 0.0713 ± 0.0046 ms 1.02
utils/convert/break_sharing 0.0527 ± 0.0018 ms 0.0532 ± 0.002 ms 0.991
utils/convert/preserve_sharing 0.268 ± 0.0052 ms 0.269 ± 0.0047 ms 0.996
utils/copy/break_sharing 0.0524 ± 0.0019 ms 0.0525 ± 0.0023 ms 0.998
utils/copy/preserve_sharing 0.269 ± 0.0051 ms 0.271 ± 0.0052 ms 0.996
utils/count_constants 0.0317 ± 0.0008 ms 0.033 ± 0.0009 ms 0.961
utils/count_depth 0.0333 ± 0.0008 ms 0.0322 ± 0.0008 ms 1.03
utils/count_nodes 31.3 ± 0.8 μs 31.2 ± 0.8 μs 1
utils/get_set_constants! 0.129 ± 0.0024 ms 0.125 ± 0.0027 ms 1.03
utils/has_constants 9.37 ± 0.62 μs 9.76 ± 0.66 μs 0.96
utils/has_operators 2.84 ± 0.056 μs 2.87 ± 0.078 μs 0.992
utils/index_constants 0.101 ± 0.0047 ms 0.0993 ± 0.0049 ms 1.02
utils/is_constant 11.2 ± 0.74 μs 11.9 ± 0.86 μs 0.938
utils/simplify_tree 0.2 ± 0.019 ms 0.203 ± 0.019 ms 0.983
utils/string_tree 0.392 ± 0.0089 ms 0.392 ± 0.0098 ms 1

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

coveralls commented 9 months ago

Pull Request Test Coverage Report for Build 5997041598


Totals Coverage Status
Change from base Build 5848943298: 0.03%
Covered Lines: 1085
Relevant Lines: 1191

💛 - Coveralls