0.3.2 Aug 23, 2022
0.3.1 Aug 13, 2022
0.2.1 Jul 22, 2022
0.1.6 Jul 5, 2022
0.1.4 May 23, 2022

#27 in #prover

Apache-2.0

180KB
752 lines

This crate contains tools and data for analyzing the performance of the Move Prover.

The data directory contains a number of lab sessions with scripts and persisted data. Each of those directories has its own README. The src directory contains supporting Rust code.

Most labs are currently based on Jupyter notebooks with a Rust based kernel. The installation of Jupyter can be done via the python installation tool:

pip install jupyterlab
pip install notebook

For the Rust kernel, follow the installation instructions at google/evcxr. You need version 0.9.0 or later.

Caveats

EVCXR has some flaws at this point (or we are not using it correctly):

  • Evaluating the first :dep after start of a notebook can take a really long time (minutes) since EVCXR compiles all of Rust. Running cargo install sccache may help.
  • After the first evaluation, the raw output of EVCXR is often displayed. Evaluating the cell a second time fixes this. Unfortunately, this renders jupyter nbconvert --execute unusable to create reports. The only way to do so is to manually ensure everything is evaluated correctly, on then use the Web UIs "Print" function ("Export" wont work because it seems to be based on nbconvert).

Dependencies

~40–54MB
~743K SLoC