MPS issue job003978

TitleToo hard to experiment with different MPS parameters
Assigned userRichard Brooksby
DescriptionMany 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.
Analysis1. 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.
How foundunknown
EvidenceRB's convenience when running gcbench.
Discussion on #clasp.
Created byRichard Brooksby
Created on2016-03-08 19:32:24
Last modified byGareth Rees
Last modified on2018-06-27 13:05:22
History2016-03-08 RB Created.