Max Inden 53ff8b5db1
feat(perf): add (automation, provision, build, run) tooling (#184)
This project includes the following components:

- `terraform/`: a Terraform scripts to provision infrastructure
- `impl/`: implementations of the [libp2p perf
  protocol](https://github.com/libp2p/specs/blob/master/perf/perf.md) running on
  top of e.g. go-libp2p, rust-libp2p or Go's std-library https stack
- `runner/`: a set of scripts building and running the above implementations on
  the above infrastructure, reporting the results in `benchmark-results.json`

Benchmark results can be visualized with
https://observablehq.com/@mxinden-workspace/libp2p-performance-dashboard.

Co-authored-by: Marco Munizaga <git@marcopolo.io>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
Co-authored-by: Piotr Galar <piotr.galar@gmail.com>
2023-06-22 13:54:09 +02:00

23 lines
721 B
Makefile

commitSha := 84d29b34b19aef161a8583daffb9f63a385a613b
all: perf
perf: rust-libp2p-${commitSha}/target/release/perf
cp ./rust-libp2p-${commitSha}/target/release/perf .
rust-libp2p-${commitSha}/target/release/perf: rust-libp2p-${commitSha}
docker run --rm --user "$(shell id -u):$(shell id -g)" -v "$(shell pwd)/rust-libp2p-${commitSha}":/usr/src/myapp -w /usr/src/myapp rust:1.69 cargo build --release --bin perf
rust-libp2p-${commitSha}: rust-libp2p-${commitSha}.zip
unzip -o rust-libp2p-${commitSha}.zip
rust-libp2p-${commitSha}.zip:
# TODO: Change to libp2p
wget -O $@ "https://github.com/mxinden/rust-libp2p/archive/${commitSha}.zip"
clean:
rm rust-libp2p-*.zip
rm -rf rust-libp2p-*
.PHONY: all clean run