@@ -16,22 +16,39 @@ You also need the ``config.json`` file at the root of this repository. Here is a
"executables":{
"upstream":{
"path":"/path/to/upstream/hg",
"env":{
"HGMODULEPOLICY":"rust+c",
"RUST_LOG":"trace"
}
"env":[
{
"HGMODULEPOLICY":"rust+c",
"RUST_LOG":"trace",
"RAYON_NUM_THREADS":"1"
},
{
"HGMODULEPOLICY":"rust+c",
"RUST_LOG":"trace",
"RAYON_NUM_THREADS":"16"
}
]
},
"jane":{
"path":"/path/to/hg-jane-fastpath",
"env":{
"HGRS_HG":"/path/to/upstream/hg"
},
"args":"--no-mmap --no-unclean-cache --profile"
"env":[
{
"HGRS_HG":"/path/to/upstream/hg"
}
],
"args":[
"--no-mmap --profile",
"--no-mmap --no-unclean-cache --profile"
]
}
}
}
```
> **Note:** The only acceptable executable names are "upstream" and "jane" for now, this is because we have special extraction code for their logs (and version).
The ``env`` and ``arg`` values are lists, tests will be ran with each result of their cartesian product.
Finally, you need a ``machine.json`` file at the root of this repository, as follows:
```json
...
...
@@ -53,6 +70,6 @@ Look at the summary:
``./bench.py -s``
Results are JSON files in ``results/{repo name}/[{executable_id}/]{executable name}_{url-encoded command}.json``, they are overwritten after each run that results in the same name.
Results are JSON files in ``results/{machine_name}/{repo name}/[{executable_id}/]{executable name}_{hash}.json``, they are overwritten after each run that results in the same name. The hash is computed from the command, the environment variables and the arguments.
For debugging purposes, ``stderr`` and ``stdout`` outputs of the subprocesses are kept in ``logs/{run_uid}/[stdout,stderr]``, with ``{run_uid}`` corresponding to the key of the same name in any JSON results file.