IT_World
[Go lang] BenchmarkTest 벤치마크 테스트 코드 성능측정 본문
벤치마크 테스트 사용하기
테스트 코드는 함수에 매개변수를 넣고 결괏값이 정상적으로 동작하는지만 검사한다.
벤치마크 테스트는 성능을 측정하는 기능이다.
덧셈 함수의 성능을 측정하기위해 다음 내용을 bench_test.go 파일로 저장합니다.
bench_test.go
package main
import "testing"
func BenchmarkMain(b *testing.B) {
for i := 0; i < b.N; i++ {
Main(1, 10)
}
}
벤치마크를 수행하는 함수는 다음 규칙을 지켜야 한다.
그렇지 않으면 컴파일러에서 벤치마크 테스트 코드를 인식하지 못한다.
- 테스트 함수는 BenchmarkMain처럼 항상 Benchmark로 시작한다.
- Benchmark 다음에 함수 이름이 오며 함수 이름의 첫 글자는 항상 대문자로 만들어야 한다.
- 예) BenchmarkMain, BenchmarkCreate, BenchmarkDelete
- 항상 *testing.B 타입의 매개변수를 받는다.
벤치마크 테스트는 b.N에 정의된 값 만큼 for 반복문을 실행한다.
그리고 반복문 안에서 성능을 측정할 함수를 호출한다.
콘솔(터미널)에서 BenchmarkMain 위치 디렉터리로 이동한 뒤 다음 명령을 실행한다.
$ cd $GOPATH/src/경로
$ go test -bench .
go test -bench . 형식이다.
즉, -bench . 옵션을 붙여주면 Benchmark로 시작하는 함수를 자동으로 실행해준다.
main 20 회 실행 for 반복문 한 번에 몇 초 식으로 나온다.
'Programming language > go lang' 카테고리의 다른 글
[Golang] python to golang 파이썬에서 고랭 코드 변경 (1) (0) | 2021.12.08 |
---|---|
[Go lang] go-imap 깃허브 살펴보기 (0) | 2021.10.08 |
[go lang] fsnotify 또 다른 예시 (0) | 2021.10.03 |
[Go lang] shell 창에서 man Makefile 실행 (0) | 2021.10.01 |
[Go Lang] makefile로 build를 한 번에 (0) | 2021.09.30 |
Comments