Skip to content
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

Rework configuration and use iteration/invocation #82

Merged
merged 14 commits into from
Jun 18, 2018

Conversation

smarr
Copy link
Owner

@smarr smarr commented Jun 16, 2018

This PR addresses some tasks for #68.

  • remove notion of number of data points to control experiments

  • remove naive quick run optinons

  • replace old config with max_invocation_time/min_iteration_time to keep terminology consistent

  • remove some old code

  • reimplement the processing of the configuration

The biggest change is to reimplement how the configuration file is processed and which elements can have with options. Documentation on these will follow, but the schema is now a good overview of what is possible.

Ordered by priority, the settings are now taken from:

  • benchmark (highest priority)
  • benchmark suites
  • virtual machine
  • experiment
  • experiments
  • runs (lowest priority)

This means, any benchmark specific setting will override the other settings. This can be a change of how configurations are interpreter.
I hope this does not reduce expressiveness, and assume that depending on the use case, it still gives enough degrees of freedom to encode the desired set of experiments, one may just need to move certain settings to another place.

@smarr smarr added the Feature label Jun 16, 2018
@smarr smarr added this to the v1.0 - Foundation milestone Jun 16, 2018
@smarr smarr self-assigned this Jun 16, 2018
@coveralls
Copy link

coveralls commented Jun 16, 2018

Coverage Status

Coverage increased (+1.07%) to 83.264% when pulling 777ee88 on invocation-iterations into f5fc88c on master.

smarr added 14 commits June 18, 2018 18:08
- will be replaced by an invocation/iteration override

Signed-off-by: Stefan Marr <git@stefan-marr.de>
These used to be abort conditions, but are long removed again.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
…on_time

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
We never really supported different actions beside benchmarking (profiling, …), and there are no current plans to do so.
This can be easily achieved in other ways.
For instance by defining a different VM that does profiling and uses a different gauge_adapter.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
- remove number_of_data_points
  - it is completely replaced by iterations/invocations
- move warmup into EXP_RUN_DETAILS
- move execute_exclusively into EXP_RUN_DETAILS
- add EXP_VARIABLES to benchmark_type_map elements, and move the whole thing to resolve forward dependency
- make some more attributes required: gauge_adapter, command, benchmarks
- rename `benchmark` to `suites`

- add defaults
- some defaults can’t be defined in the schema, because it would interfere with our desired semantics of combining settings
- improve descriptions

- adapt conf files accordingly

Signed-off-by: Stefan Marr <git@stefan-marr.de>
- it is only loading and checking the validity of the configuration

Signed-off-by: Stefan Marr <git@stefan-marr.de>
This should probably still into an OS-specific package, but currently, only care for Unix-like things anyway.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
- make naming more consistent with high-level concepts: Benchmark instead of BenchmarkConfig

Signed-off-by: Stefan Marr <git@stefan-marr.de>
This means, we have all top-level settings as overrides for the command line.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
The runs concept is gone.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
@smarr smarr merged commit 710beb7 into master Jun 18, 2018
@smarr smarr deleted the invocation-iterations branch June 18, 2018 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants