-
-
Notifications
You must be signed in to change notification settings - Fork 851
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
tests: Add criterion for basic benchmarking #6071
base: master
Are you sure you want to change the base?
Conversation
1383ed3
to
17246ea
Compare
Could also put test-specific configs as special comments in output.txt. (I'm thinking of something like LLVM's tests.) But also... are there cases where we want different frame count than the number of frames in the test SWF itself? |
Also, let's maybe rename the benches to make it explicit they test AVM1? |
Quite a few, if you look through the tests (gotoAndStops, looping anims, timers, ...). But using the # of frames of the main timeline is a sensible default that I'd like to add.
I started working towards a more general test + SWF compiler over here, and I figure these settings can be a part of that syntax. But in the meantime doing some YAML front matter in output.txt would work nicely. |
Currently the results seem to vary quite a lot across runs, so I'm going to try to narrow it down to run the AVM code more directly. |
|
5bf7a1d
to
8d242a4
Compare
Add `TestBuilder` to allow for configuring the player.
Remove `Player::add_external_interface` now that these can be specified at constructor time.
Hey, @Herschel! What is the status of this PR? |
Add
criterion
with some basic benchmark SWFs, and refactor some of the test code to support this.criterion
seems geared towards smaller benchmarks, and these benchmarks are already a little chunky -- it's possible something like bencher might be more suitable.TODO, probably future PRs:
TestBuilder
could become a more generalPlayerBuilder
available incore
.regression_tests.rs
and instead generate tests via directory listing similar to the benchmarksAdd some AVM2 and general playback benchmarks.