Skip to content

Latest commit

 

History

History
84 lines (58 loc) · 2.94 KB

File metadata and controls

84 lines (58 loc) · 2.94 KB

Instruction for release v0.9.27

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.

Getting started (only once)

Last tested on 20 Aug 2022 with Ubuntu 20.04.4 and 22.04.

Install Python libraries

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

Install Rust

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

Install Docker

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

Allow current user to start docker

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 

Compile and analyze

Get polkadot-optimized release v0.9.27

git clone --depth 1 --branch v0.9.27 https://github.com/MathCryptoDoc/polkadot-optimized.git
cd polkadot-optimized

Start compilation and benchmarking

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

Analyze

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

Support us

For tips and nominations: Kusama account EARQCUK4Y3oN3LCuyjriBxPesNAuQWa7ifjsfNSU6srpFAq (MathCrypto/01 - π% commission)

See also https://www.math-crypto.com for more information.