j-mie6 / gigaparsec

Refreshed parsec-style library for compatibility with Scala parsley
https://j-mie6.github.io/gigaparsec/
BSD 3-Clause "New" or "Revised" License
14 stars 3 forks source link

Regression Benchmarking #2

Open j-mie6 opened 1 year ago

j-mie6 commented 1 year ago

As we build more and more functionality into the library, it would be a good idea to make sure that we don't do anything that inadvertently cripples the efficiency. I propose the following:

  1. Write a selection of benchmarks using tasty-bench as a test suite (these will also be able to serve as integration tests!)
  2. If the commit is tagged write these results to a .csv file, and push them into a bench-data branch under tag.csv
  3. On push, if there is a previous tag on this branch (or main) pull down the csv file for that tag, and use it as a comparison, allowing us to test that things don't deviate too much.

Some resources on this: