Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a toolbox to check performance #877

Open
2 of 5 tasks
sandcha opened this issue May 16, 2019 · 1 comment
Open
2 of 5 tasks

Create a toolbox to check performance #877

sandcha opened this issue May 16, 2019 · 1 comment
Labels
kind:roadmap A group of issues, constituting a delivery roadmap

Comments

@sandcha
Copy link
Collaborator

sandcha commented May 16, 2019

Find common ways to analyse OpenFisca:

  • Time performances
  • Memory performances
  • Calculation cache
  • Define common metrics to check performances evolutions in Python and Web APIs
  • Stack depth?
  • Cache hits and misses? (Cached but unused values, ...)
  • Percentage of default values in calculation
  • Number of calls to calculate()
  • How many times a calculate() returns 0 or any equivalent value to false (% unnecessary computations in conditions)
  • Inputs impact in calculation performance (number of calculations to a variable listed in the inputs but at a different period from the calculation period)
  • Unify Core tracing process with:
  • computation_log()
  • Tracer stack
  • simulation stack for cycle and spiral detection

➡️ See #884

  • Implement computation log as tree structure with each node registering
  • Done:
    • variable name
    • period
    • wall-clock time
    • computed value
    • (children node)
  • Still to be done:
    • value originating in: (input, calc, cache, default, extinct formula)
  • Post-process the tree to bring out derived metrics:
  • stack depth at each node
  • time spent on each node
  • number of children computations of each node
  • percent of children node coming from each of cache, input etc.
  • Check metrics possible representations
  • Generate a graph similar to profilers (icicle ?) with variables and parameters?

➡️ See #895

@sandcha sandcha mentioned this issue Jun 13, 2019
@bonjourmauko bonjourmauko added the kind:theme A group of issues, directly tied to an OKR label Jul 23, 2019
@bonjourmauko bonjourmauko changed the title [EPIC] Create a toolbox to check performance Create a toolbox to check performance Jul 23, 2019
@bonjourmauko
Copy link
Member

Are we still looking forward to make this happen? Recently, another initiative has emerged based on inputs and contributions by @benjello @sandcha @benoit-cty and @clallemand. We could maybe merge/supercede #1315

@bonjourmauko bonjourmauko added kind:roadmap A group of issues, constituting a delivery roadmap and removed kind:theme A group of issues, directly tied to an OKR labels Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:roadmap A group of issues, constituting a delivery roadmap
Projects
None yet
Development

No branches or pull requests

2 participants