jmitchell / backtrex

Backtracking behaviour to solve discrete problems by brute force
Other
26 stars 2 forks source link

Graph performance metrics over time #14

Open jmitchell opened 7 years ago

jmitchell commented 7 years ago

Once #12 is finished I'll have a fairly easy way to analyze performance of the codebase at a particular commit, but as changes are made to any Backtrex backend, implemented behaviour, or input problems per behaviour performance will fluctuate.

The motivations are twofold: (1) avoid performance regressions and (2) motivate me to add more optimizations. It would help to have ongoing graphs of performance metrics over time, ideally per commit to master.

jmitchell commented 7 years ago

Travis CI could probably be configured to push performance metrics commits to this repo after every successful build.

EDIT: Maybe it's not a great idea to store all the profiling data in this repo. One of my early experiments making an eflame stack.out file for a hard Sudoku puzzle results in an 80 MB file. Storing summary statistics wouldn't be so bad, though. Another concern about doing the profiling on Travis CI is the compute resources may be too inconsistent.

If that works out, make a mix task to produce graphs from data in ./metrics. Integrate the mix task into the automated after_success, so Travis can also publish keep summary statistics and graphs up to date.