JuliaDynamics / JuliaDynamics/DynamicalSystemsBase.jl

Performance tests for v3 API.

Open
#169 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue help wanted performance
Dominant language
Julia
Stars
56
Forks
34
PR merge metrics
No merged PRs in 30d

Description

I haven't had the time to extensively test performance of each individual function of the new DynamicalSystems.jl v3.0 API. I've checked the over-arching performance, e.g., lyapunovspectrum has approximately same speed as before.

But one should be methodical here. All functions that participate in the DynamicalSystem api should be non allocating. E.g. set_deviations(tands, Q) should be non allocating regardless of what type of tangent dynamical system we have.

Someone should check these functions with the @benchmark from BenchmarkTools.jl.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the v3 DynamicalSystem API functions, including set_deviations(tands, Q), and use BenchmarkTools.jl's @benchmark as the first check; lyapunovspectrum provides the stated performance comparison. Done means the API functions have been methodically checked for allocations, including set_deviations across tangent dynamical-system types.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
api, performance, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.