IntersectMBO / IntersectMBO/plutus
Rationalise generators for builtin benchmarks
- Dominant language
- Haskell
- Stars
- 1.6k
- Forks
- 508
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 22
Description
[Migrated from PLT-1171]
The benchmarks for built-in functions (which we use to generate the cost model) uses three different sources of random data: `System.Random`, QuickCheck generators, and Hedgehog generators. We should try to make things a bit more consistent. Hedgehog generators produce (sometimes very large) shrink trees which we have no use for (we're only generating random data, not testing anything), and these caused some difficulties with some of the benchmarks. It may not be entirely possible to do away with Hedgehog (its generators for Unicode Text strings are better for producing worst-case data for `decodeUtf8` and `encodeUtf8` for example), but QuickCheck should suffice in most cases.
[A previous remark says "We also do some unpleasant random number generation in [the BLS12-381tests and/or benchmarks]". I think that may no longer apply, but we should make sure.]
Contributor guide
Assessment
This issue has not been assessed yet.