Skip to content

Instantly share code, notes, and snippets.

@btc
Created January 30, 2015 05:39
Show Gist options
  • Save btc/67e6e6904add945641fd to your computer and use it in GitHub Desktop.
Save btc/67e6e6904add945641fd to your computer and use it in GitHub Desktop.
# This Makefile provides a way to really simple way to run benchmarks in a
# docker environment.
IPFS_ROOT = ../..
IMAGE = jbenet/go-ipfs-bench
CONTAINER = go-ipfs-bench
PACKAGE = epictest
PACKAGE_DIR = test/epictest
BUILD_DIR = ./build/bench
CONTAINER_WORKING_DIR = /go
CPU_PROF_NAME = cpu.out
EXTRA_TEST_ARGS =
all: collect
collect: clean build_image run_profiler cp_pprof_from_container
cp_pprof_from_container:
docker cp $(CONTAINER):$(CONTAINER_WORKING_DIR)/$(CPU_PROF_NAME) $(BUILD_DIR)
docker cp $(CONTAINER):$(CONTAINER_WORKING_DIR)/$(PACKAGE).test $(BUILD_DIR)
build_image:
cd $(IPFS_ROOT) && docker build -t $(IMAGE) .
run_profiler:
docker run --name $(CONTAINER) -it --entrypoint go $(IMAGE) test ./src/github.com/jbenet/go-ipfs/$(PACKAGE_DIR) --cpuprofile=$(CPU_PROF_NAME) $(EXTRA_TEST_ARGS)
clean:
docker rm $(CONTAINER) || true
rm -rf $(BUILD_DIR)
analyze:
go tool pprof $(BUILD_DIR)/$(PACKAGE).test $(BUILD_DIR)/$(CPU_PROF_NAME)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment