-
-
Notifications
You must be signed in to change notification settings - Fork 382
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
Conclude phase (opposite of --prepare) #565
Comments
My use case, right now, is benchmarking server startup performance - e.g. "time to successfully serve the first request". In terms of phasing, I'd use
After enough warmup, the file system cache will be hot enough so that the only thing being measured would be the (CPU) time it takes for the server to start (plus, of course, the time to generate the response) "conclude" (or whatever the name would be) establishes complete symmetry in phasing:
|
Coming to think of it, I can actually make do with only the prepare phase:
This is workable, but ... does not feel nice ... compared to
|
It's the current workaround I am using as well, but it means both the prepare and cleanup phase need to have duplicated mechanics. Going through and understanding what is actually happening is already not-clear to new comers. |
Thank you for the feature request. I can certainly see the use case for this and agree that it would lead to a better UX. Before someone goes ahead an implements this: it might make sense to introduce some useful abstractions to avoid a lot of code duplication for all of those options ( Naming wise, I think
Yes. See also: https://github.com/sharkdp/hyperfine#detailed-benchmark-flowchart |
Are you suggesting both sets of names would be available? ie there would be aliases? If not is there any concern for breaking backward compatibility with the new names? |
I just took a very quick stab at (blindly) implementing Those changes are plenty ugly, much duplication, so I now understand the need domain expert's ;) perspective of there being a desire to
I might find some minutes to fix my mess. With respect to naming:
|
This sounds like an excellent plan |
In the same manner as the --prepare phase exists, the feature request is for a non-timed --conclude or --post phase that would run after each benchmarked command. There would each be 1 or N number of these.
In my use case, I cannot do the cleanup after the command executes W(armup)+N times. I also understand that running in this phase can pollute the cache, but in my case, the benchmarks can already run for hours.
The current workaround is to put the per command shutdown steps in each bechmarked command but that pollutes the benchmarking times.
Thanks again for an excellent utility
The text was updated successfully, but these errors were encountered: