The explanation below can be used to get results like these for version 0.9.27.
Remark Might not work with the latest version of polkadot-optimized! See below how to checkout release v0.9.27.
Last tested on 20 Aug 2022 with Ubuntu 20.04.4 and 22.04.
Required: python3, pip, pandas, dateutil, request, psutil, pyarrow, paretoset, tomlkit
sudo apt install python3-pip python3-dateutil python3-requests python3-pandas
pip3 install psutil pyarrow paretoset tomlkit
From https://www.rust-lang.org/tools/install
sudo apt install cmake clang lld build-essential git libclang-dev pkg-config libssl-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Hit enter
source $HOME/.cargo/env
rustup update
From https://docs.docker.com/engine/install/ubuntu/
sudo apt-get install ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
From https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
git clone --depth 1 --branch v0.9.27 https://github.com/MathCryptoDoc/polkadot-optimized.git
cd polkadot-optimized
Modify bottom of compile.py for desired release version and optimization options. By default, it will take the winning options for your native architecture but you also choose a smaller set of options to test or the exhaustive set in our testing.
screen # can be resumed with screen -r after logout
python3 compile.py
python3 run_benchmarks.py
python3 parse_benchmarks.py
The Python notebook analyze-0-9-27.ipynb explains the step we did for our analysis. You can easily let it analyze your benchmark data if you load your feather file.
To run the notebook, you need jupyter-labs, matplot-lib, numpy. You can also just take a look https://github.com/MathCryptoDoc/polkadot-optimized/blob/main/notebook/analyze-0-9-27.ipynb
For tips and nominations: Kusama account EARQCUK4Y3oN3LCuyjriBxPesNAuQWa7ifjsfNSU6srpFAq (MathCrypto/01 - π% commission)
See also https://www.math-crypto.com for more information.