-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Benchmark list utilities and alter if needed #79
Comments
Note that Plutus provides some benchmark utilities, including integrating with Eventually I would like us to be able to produce reports like this for every PR to this repo, so we can assess the performance impact of changes. @MatthewCroughan and I talked about this a bit before The Pluton repo generates a .csv report in CI:
(This ^ is not using Plutus criterion yet) Which .csv can then be integrated with GitHub PR interface. I'm curious how you plan to work on this, @TotallyNotChase - and if you need any assistance or guidance from me. |
The plan is to do pretty basic benchmarks for singular list utilites one by one. The evaluation machine seems pretty consistent and predictable so it should be sufficient in this simple case. We also have a production level plutarch script that uses some of the utilities - so I sometimes cross reference there. I really really really want that benchmark suite you proposed, for every big Plutarch change - it'd be really useful given Plutarch's goals. Definitely something to think about. I don't know if we should have it here of in pluton - but whatever works. |
Originally raised from this comment.
We want to make sure the list utilities are sufficiently efficient, as they will be the basis for many ledger API functions. In particular, I'm concerned about-
pelemList
was benefitted by taking in Haskell level functions rather than Plutarch level functions. Are there other list utilities that might benefit from this?Are there any work duplication hidden in plain sight, within the abstractions?
Example of fixing work duplication.
Some essentials about Haskell level functions vs Plutarch level functions: #78
The text was updated successfully, but these errors were encountered: