-
Notifications
You must be signed in to change notification settings - Fork 41
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
New feature: generic jar that can be used to benchmark any executable jar #7
Comments
There are instructions in the README(s) showing how to run the benchmarks. Hopefully they work, but you haven’t said if you tried it. I’m also not sure what “column depicting reusability“ means. Maybe you could expand on that a bit. An example? |
OK, let me try to document the request for better documentation 😄
Where, Reusable means the jar can be used for benchmarking an external project by, say, running with Edit: |
I think what you are asking for is not so much documentation as a new feature: a general purpose benchmarks.jar that can be used to time any boot app on start up. Its an interesting idea, but I’m not sure it is generally implementable. There would probably be restrictions on the way the apps were implemented or configured. |
I’m making one that can launch either the main class or the jar. Since all the JMH options can also be specified from the command line, if I launch the host JVM with whatever settings I want, and have the Boot app inherit it, it should at least be usable for my use case. I’ll post a link here for your review once I get it working (hopefully in a day or two) |
@dsyer https://github.com/asarkar/spring/tree/master/boot-benchmark. Comparing my implementation with yours, I'm not sure how yours is working with |
I don't really understand the difference between |
The difference between the If a new JVM is spawned by the test, which is the case if we are benchmarking startup, using |
I think because the measurement batch size defaults to 1, only one JVM is launched per iteration in the code in this project. YMMV of course. |
In a "normal" JMH benchmark there are many invocations per iteration but by default there is only one. We do need to kill the JVM after every launch though, so, while it doesn't make any difference for the default configuration, it's safer to use Level.Invocation. See gh-7
See launcher module in 624165f |
I was referred to this repo from spring-projects/spring-boot#12686. I'm trying to understand the purpose of each submodule, and if I can reuse any for benchmarking my code. The README looks promising, and the approach methodical, but the plethora of submodules make it very hard to understand what each one is for, how to run the benchmarking here, and if any of it could be used for other projects.
It'd be very useful to have a textual description of each submodule in the README, along with a column depicting reusability for projects outside this repo.
The text was updated successfully, but these errors were encountered: