|Title||Too hard to experiment with different MPS parameters|
|Assigned user||Richard Brooksby|
|Description||Many arguments to MPS arena and pool creation have critical effects on performance. For example, the arena size, pool extents, incrementality, etc. The keyword arguments system helps us pass these around, but it's hard to write general code for handling keyword arguments, because the list of arguments is static. For example, it would be hard to maintain a general list of options to the "gcbench" test allowing arguments to be set. The same problem applies to our clients, and in particular, Clasp.|
|Analysis||1. Lift the set of keyword arguments into a relational macro, as shown in changelist 189793. This allows code to talk about arguments in a general way. See the prototype changes to gcbench in changelist 189793.|
2. Add environment variable parsing of keyword arguments to mpsliban.c, so that anyone running an MPS can try out MPS parameters without even a recompile.
There are some security implications to (2), and we want to make sure the client has a chance to disable this feature so that users can't accidentally or deliberately mess up calibration.
|Evidence||RB's convenience when running gcbench.|
Discussion on #clasp.
|Created by||Richard Brooksby|
|Created on||2016-03-08 19:32:24|
|Last modified by||Gareth Rees|
|Last modified on||2018-06-27 13:05:22|
|History||2016-03-08 RB Created.|