Ubuntu WSL의 첫 번째 사용 golang 벤치마크

2214 단어
안녕하세요!

며칠 전 나는 벤치마크를 처음 접하고 수업을 위해 실습을 했습니다. Golang에 Windows + WSL Ubuntu를 사용한다면 제 경험이 도움이 될 것입니다.

구성 요소와 관련하여 몇 가지 문제에 직면했습니다.

pprof용 Graphvis 없음



첫 프로필을 만들었어요

$ go test -bench=BenchmarkGetDomainStat -cpuprofile=cpu -memprofile=mem
$ go tool pprof -http="localhost:8080" cpu

Serving web UI on http://localhost:8080
Failed to execute dot. Is Graphviz installed?
exec: "dot": executable file not found in $PATH



Graphviz가 없습니다. Google에 올라오면 graphviz를 설치해야 합니다.

$ sudo apt install graphviz gv


나처럼 실패하는 경우:

E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/g/ghostscript/ghostscript-x_9.26~dfsg+0-0ubuntu0.18.04.15_amd64.deb  404  Not Found [IP: 91.189.91.38 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?


업데이트하고 반복하십시오.

$ sudo apt-get update
$ sudo apt install graphviz gv


와! 당신은 당신에게 멋진 그래프를 보여줄 준비가 된 graphviz와 pprof를 가지고 있습니다.

벤치스탯 없음



Go 1.17.1을 설치하고 아무것도 잊어 버렸습니다. 그러나 벤치마크의 경우 두 가지 결과를 비교하고 싶습니다.

$ benchstat benchmarks/00 benchmarks/01
benchstat: command not found


뭐야? 기본적으로 벤치스탯이 설치되어 있지 않습니다. 수정하겠습니다.

$ go get golang.org/x/perf/cmd/benchstat
go: downloading golang.org/x/perf v0.0.0-20220722155240-3d85ee92886d
go get: added golang.org/x/perf v0.0.0-20220722155240-3d85ee92886d


또한 go get은 지원 중단에 대해 알려주고 'go install'을 사용하도록 제안합니다. 다음에 도전하기 좋은 아이디어

이제 결과를 확인해 보겠습니다.

$ benchstat benchmarks/00 benchmarks/01
name             old time/op  new time/op  delta
GetDomainStat-8   1.15s ±75%   0.36s ±11%  -69.05%  (p=0.000 n=10+10)


좋습니다. 벤치 통계를 사용할 수 있고 최적화가 잘 작동합니다.

내 인터넷 검색이 도움이 되기를 바라며 친애하는 Windows WSL 고퍼 여러분을 위해 몇 분을 절약할 수 있기를 바랍니다!

좋은 웹페이지 즐겨찾기