You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(This is #1287 but in a local branch to test bencher, and with some
commits's author fixed)
This PR introduces the following infra commands:
- `infra perf cargo`: this is the `infra perf` command from before
(flamegraphs).
- ~`infra perf fetch`: fetches a series of projects from solcify and
stores them in a specified local folder.~
- `infra perf npm`: runs comparisons of our TS library with solc and
(currently) solc-typed-ast, and ships them to bencher. The comparisons
are run twice, one cold and one hot.
Details:
This is a revamp of
https://github.com/NomicFoundation/slang/tree/perf-ts with several
improvements:
- [x] ~Uses Benny instead of Jest.~ Removed Benny
- [x] Count only the hot path.
- [x] Moved to `solidity/testing/perf`
- [x] Improved solc interface to be capable of executing the test in any
file.
- [x] Integration with `infra` script.
- [x] ~Add more examples by running on every file in certain projects
(e.g., openzeppelin's)~
- [x] Collect specific measures for slang (time for setup, time to
resolve each definition, etc).
- [x] ~Add other examples specific for slang.~ Won't fix.
- [x] ~Add memory test.~ Won't do now.
- [x] Load to Bencher.
The current architecture for the tests is as follow:
```mermaid
sequenceDiagram
box sienna Rust
participant infra
participant fetch
participant perf/npm-benches
end
box olive External
participant sourcify
participant bencher
end
box midnightblue TS
participant npm/main
end
infra->>perf/npm-benches: run
perf/npm-benches->>fetch: for every project
fetch->>sourcify: get project
sourcify->>fetch: persist in FS (JSON)
perf/npm-benches->>npm/main: for every project
npm/main-->>perf/npm-benches: ouptut comparison in console (JSON)
perf/npm-benches-->>infra: BMF
infra->>bencher: send results
```
---------
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
Co-authored-by: Gustavo Giráldez <ggiraldez@manas.tech>
0 commit comments