>  기사  >  백엔드 개발  >  Go test "-run -" 플래그는 테스트를 훨씬 빠르게 실행합니다.

Go test "-run -" 플래그는 테스트를 훨씬 빠르게 실행합니다.

王林
王林앞으로
2024-02-09 19:21:08364검색

Go test“-run -”标志执行测试的速度要快得多

PHP 편집기 Apple은 테스트 프레임워크 Go 테스트를 도입할 때 "-run -" 플래그를 사용하면 테스트 실행 속도를 크게 향상시킬 수 있다고 지적했습니다. 이 플래그는 Go 테스트에 예제 코드가 아닌 테스트 함수만 실행하도록 지시합니다. 이를 통해 테스트 프레임워크가 불필요한 초기화 및 정리 프로세스를 건너뛰고 결과적으로 테스트 실행 속도가 빨라집니다. 자주 테스트를 수행해야 하는 개발자에게 이 기술은 매우 유용하며 작업 효율성을 향상시킬 수 있습니다.

질문 내용

https://github.com/roaringbitmap/roaring

에서 몇 가지 벤치마크를 살펴보고 있었습니다.

-run -를 사용하여 특정 벤치마크를 실행하는 경우(설명에서 언급한 대로): go test -benchenchmarknexts -benchmem -run - 실행 속도가 더 빠른 것 같습니다. 적어도 go test -bench benchmarknexts -benchmem -run - 似乎执行得更快,至少在没有 -run - 없이 실행하면 5초의 초기 오버헤드가 있는 것 같습니다. 이 역시 플롯됩니다.

으아악

-run 플래그는 정규식 패턴을 기반으로 테스트를 실행하므로 여기서는 뭔가 제외된 것처럼 보이지만 도대체 둘 다 동일한 테스트를 실행한다는 점에서 유일한 차이점은 초기 오버헤드입니다.

해결 방법

go test "-run -" 플래그는 테스트를 훨씬 빠르게 실행합니다

예상된 결과입니다. 테스트를 실행하지 않으면 더 빠릅니다.

무엇이 실행되고 있는지 보려면 -v 选项添加到 go testExecuting을 변경하세요.

테스트를 실행하지 않음:

으아악

모든 테스트 실행:

으아악

또는 -run .는 모든 테스트와 동일하므로

으아악

go는 Go 소스 코드를 관리하는 도구입니다.

테스트 로고

으아악

캐시 구축 및 테스트

go 명령은 성공적인 패키지 테스트 결과도 캐시합니다. 자세한 내용은 "도움말 테스트"를 참조하세요. "go clean -testcache"를 실행하면 캐시된 테스트 결과가 모두 삭제됩니다(캐시된 빌드 결과는 삭제되지 않음).

위 내용은 Go test "-run -" 플래그는 테스트를 훨씬 빠르게 실행합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제