frptools / collectable

High-performance immutable data structures for modern JavaScript and TypeScript applications. Functional interfaces, deep/composite operations API, mixed mutability API, TypeScript definitions, ES2015 module exports.
MIT License
273 stars 14 forks source link

Performance tests #24

Open axefrog opened 7 years ago

axefrog commented 7 years ago

There is a hierarchy of performance tests:

  1. Collection type (e.g. List vs Map)
  2. Primary operations (get, set, etc.)
  3. Composite operations (interleaved combinations of reads and writes)

Because this forms a matrix of tests, the project structure for performing tests will need to be considered. It should be possible to break tests down into subsections, run only the tests that have changed, and merge the results into the higher-level summarised performance report for the entire collection.

Power the tests using benchmark.js, but create an abstraction layer on top which can be used to streamline the addition of more tests.