Skip to content

Idea for performance & regression tests #515

Open
@ctrl-z-9000-times

Description

@ctrl-z-9000-times

I had an idea for how we could make better performance & regression tests.

We could have a secondary testing system for tests which take a long time to run. We have a number of examples with large data sets which we can turn into tests with relative ease. These tests use real world data in plausible user scenarios.

  • MNSIT - approx 5 minutes to run
  • Hotgym - approx 5 minutes to run
  • NAB - several hours to run
  • Nupic.py has an example for "MSNBC.com Anonymous Web Data" which tracks users as they brows MSNBC.com and predicts which news article they will read next. I have not tried this example.
  • Hopefully more examples?

Design notes:

  • Our optimization framework has facilities to run examples and measure their performance. All of our examples already use this framework.
  • Keep a persistent file of results, saved on and local to the computer which runs the tests.
    • These tests can never run in CI because they take too long, so this is possible.
    • Using the same computer hardware for each test means you can compare the run times between versions of the library. Keep the run-times on file, so that you can check for performance regressions after upgrading nupic.
  • This would be a long term project.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions