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
574 B
Makefile

commitSha := bdfafffc8b7ec786ff41ea245f24920930eec720
all: perf
perf: perf-${commitSha}
docker run --rm --user "$(shell id -u):$(shell id -g)" -v "$(shell pwd)/perf-${commitSha}":/usr/src/myapp -w /usr/src/myapp -e GOCACHE=/usr/src/myapp/.cache golang:1.20 go build -o perf cmd/main.go
cp perf-${commitSha}/perf .
perf-${commitSha}: perf-${commitSha}.zip
unzip -o perf-${commitSha}.zip
perf-${commitSha}.zip:
wget -O $@ "https://github.com/quic-go/perf/archive/${commitSha}.zip"
clean:
rm perf-*.zip
rm -rf perf-*
rm perf
rm .cache
rm v0.27
.PHONY: all clean