smarr / ReBench

Execute and document benchmarks reproducibly.
MIT License
85 stars 24 forks source link

Add support for machine-specific settings #272

Closed smarr closed 3 weeks ago

smarr commented 3 weeks ago

This PR adds the ability add machine-specific configuration to the config file and then select it by name when running rebench on the command line.

One use could be to run benchmarks with different settings depending on the availability of hardware resources. For example, with a small and a large machine:

machines:
  small-machine:
    cores: [1, 2, 4, 8]
  large-machine:
    cores: [1, 2, 4, 8, 16, 32, 64, 128]

This can then be used by running rebench like this:

rebench rebench.conf -m large-machine

A machine setting is part of the normal composition process of configurations. It is the new lowest level, i.e., with lowest priority. This means, that in the above example, a cores: setting in a benchmark would override the setting.

This realizes part of #257.

coveralls commented 3 weeks ago

Coverage Status

coverage: 53.795% (+0.01%) from 53.785% when pulling c7bb90ff3024bf8eeb94f9c5cabab82a4e205d3d on machine-settings into 1d8b18af71dd8cda199038a5d891a4b081e8d124 on master.