Skip to content

Commit

Permalink
add build-pgo make target
Browse files Browse the repository at this point in the history
  • Loading branch information
davidhewitt committed Jul 4, 2023
1 parent d08d269 commit 3958f46
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,35 @@ install-rust-coverage:
cargo install rustfilt coverage-prepare
rustup component add llvm-tools-preview

.PHONY: install-pgo
rustup component add llvm-tools-preview

.PHONY: build-dev
build-dev:
@rm -f python/pydantic_core/*.so
cargo build --features extension-module
@rm -f target/debug/lib_pydantic_core.d
@rm -f target/debug/lib_pydantic_core.rlib
@mv target/debug/lib_pydantic_core.* python/pydantic_core/_pydantic_core.so
pip install -v -e . --config-settings=build-args='--profile dev'

.PHONY: build-prod
build-prod:
@rm -f python/pydantic_core/*.so
maturin develop --release
pip install -v -e .

.PHONY: build-coverage
build-coverage:
rm -f python/pydantic_core/*.so
maturin develop -- -C instrument-coverage
@rm -f python/pydantic_core/*.so
RUSTFLAGS='-C instrument-coverage' pip install -v -e .

.PHONY: build-pgo
build-pgo:
@rm -f python/pydantic_core/*.so
$(eval PROFDATA := $(shell mktemp -d))
RUSTFLAGS='-Cprofile-generate=$(PROFDATA)' pip install -v -e .
pytest tests/benchmarks
$(eval LLVM_PROFDATA := $(shell rustup run stable bash -c 'echo $$RUSTUP_HOME/toolchains/$$RUSTUP_TOOLCHAIN/lib/rustlib/$$(rustc -Vv | grep host | cut -d " " -f 2)/bin/llvm-profdata'))
$(LLVM_PROFDATA) merge -o $(PROFDATA)/merged.profdata $(PROFDATA)
RUSTFLAGS='-Cprofile-use=$(PROFDATA)/merged.profdata' pip install -v -e .
@rm -rf $(PROFDATA)


.PHONY: build-wasm
build-wasm:
Expand Down

0 comments on commit 3958f46

Please sign in to comment.