SciML / SymbolicIndexingInterface.jl

A general interface for symbolic indexing of SciML objects used in conjunction with Domain-Specific Languages
https://docs.sciml.ai/SymbolicIndexingInterface/stable/
MIT License
14 stars 6 forks source link

refactor: improve `symbolic_evaluate` performance #57

Closed AayushSabharwal closed 5 months ago

AayushSabharwal commented 5 months ago

Before:

julia> @be (expr, subs) symbolic_evaluate(_...)
Benchmark: 156 samples with 1 evaluation
min    453.542 μs (2318 allocs: 66.359 KiB)
median 501.958 μs (2318 allocs: 66.359 KiB)
mean   605.138 μs (2318 allocs: 66.359 KiB)
max    2.379 ms (2318 allocs: 66.359 KiB)

After:

julia> @be (expr, subs) symbolic_evaluate(_...)
Benchmark: 330 samples with 1 evaluation
min    269.209 μs (1183 allocs: 28.891 KiB)
median 274.625 μs (1183 allocs: 28.891 KiB)
mean   282.744 μs (1183 allocs: 28.891 KiB)
max    588.542 μs (1183 allocs: 28.891 KiB)

Checklist

Additional context

Add any other context about the problem here.

codecov[bot] commented 5 months ago

Codecov Report

Attention: Patch coverage is 0% with 13 lines in your changes are missing coverage. Please review.

Project coverage is 33.13%. Comparing base (d4b9089) to head (554a212).

Files Patch % Lines
src/trait.jl 0.00% 13 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #57 +/- ## ========================================== - Coverage 34.33% 33.13% -1.20% ========================================== Files 7 7 Lines 332 341 +9 ========================================== - Hits 114 113 -1 - Misses 218 228 +10 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.