Makefile 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. # Copyright 2023 The Regexp Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style
  3. # license that can be found in the LICENSE file.
  4. .PHONY: all benchcmp benchstat clean devbenchstat edit editor game game_input test
  5. DIR := ${CURDIR}
  6. all:
  7. benchcmp:
  8. sh -c 'cd $$(go env GOROOT)/src/regexp && \
  9. go test -timeout 24h -count 1 -run @ -bench . -benchmem | tee $(DIR)/log-benchcmp-stdlib'
  10. go test -timeout 24h -count 1 -run @ -bench . -benchmem | tee log-benchcmp-modernc
  11. benchcmp -mag -changed log-benchcmp-stdlib log-benchcmp-modernc | tee benchcmp-results
  12. benchstat:
  13. echo "This will run for about 90 minutes on a modernc machine"
  14. sh -c 'cd $$(go env GOROOT)/src/regexp && \
  15. go test -timeout 24h -count 20 -run @ -bench . -benchmem | tee $(DIR)/log-benchstat-stdlib'
  16. go test -timeout 24h -count 20 -run @ -bench . -benchmem | tee log-benchstat-modernc
  17. sed -i 's/modernc.org\/regexp/regexp/' log-benchstat-modernc
  18. benchstat log-benchstat-stdlib log-benchstat-modernc | tee benchstat-results
  19. devbenchstat:
  20. go test -timeout 24h -count 20 -run @ -bench . -benchmem | tee log-benchstat-modernc
  21. sed -i 's/modernc.org\/regexp/regexp/' log-benchstat-modernc
  22. benchstat log-benchstat-stdlib log-benchstat-modernc | tee benchstat-results
  23. clean:
  24. rm -f *.text *.out *.test
  25. go clean
  26. edit:
  27. @touch log
  28. @if [ -f "Session.vim" ]; then gvim -S & else gvim -p Makefile go.mod builder.json all_test.go dfa.go rec.go & fi
  29. editor:
  30. date > log-editor
  31. gofmt -l -s -w *.go
  32. # go test -tags=probes 2>&1 | tee -a log-editor
  33. go test -c -o /dev/null | tee -a log-test
  34. date >> log-editor
  35. staticcheck
  36. game:
  37. date > log-game
  38. go test -v -run @ -bench Game -benchmem -- -game 2>&1 | tee -a log-game
  39. date >> log-game
  40. game_input: clean
  41. make -C testdata
  42. test:
  43. date > log-test
  44. go test -v -failfast 2>&1 | tee -a log-test
  45. go build -v -o /dev/null | tee -a log-test
  46. date >> log-test