Python 응용 프로그램 (멋진 웹 서비스)에는 모든 개발자가 코드를 커밋하기 전에 실행해야하는 모든 테스트 (단위 테스트, 통합 테스트 등)가 있습니다.
성능 테스트를 추가하여 어느 누구도 우리가 너무 느리게 실행되는 코드를 추가하지 않도록하고 싶습니다.
필자는 테스트에 일부 기능을 수집하여 시간을 측정하고 미리 정의 된 임계 값과 비교할 수 있습니다.Python에서 모든 개발자가 자동으로 성능을 테스트하는 올바른 방법은 무엇입니까?
까다로운 요구 사항 :!
- 나는 모든 개발자가 자신의 컴퓨터에서 코드를 테스트 할 수 있도록하려면 (CPU 파워에 따라 다릅니다, OS (Linux 및 일부 Windows) 및 외부 구성 - 파이썬 버전, 라이브러리 및 모듈은 동일합니다). 테스트 서버는 일반적으로 좋은 생각이지만이를 해결하지 못합니다.
- 나는 테스트가 DETERMINISTIC이 되길 원한다. - 테스트를 실행하는 컴퓨터에서 무슨 일이 일어나고 있는지에 관계없이 나는 동일한 결과를 반환하기 위해 여러 번 테스트를 수행해야한다.
내 예비 생각 :
- 사용 timeit 및 시스템의 벤치 마크에게 내가 테스트를 실행할 때마다 않습니다. 성능 테스트 결과를 벤치 마크와 비교하십시오.
- "외부 소음"을 무시하도록 해석기를 사용하려면 cProfile을 사용하십시오. 내가 아직
pstats
구조를 읽는 법을 잘 모르겠다. 그러나 나는 그것이 가능하다고 확신한다.
다른 생각은?
감사합니다.
탈.
나는 그들이 그것을 * codspeed *라고 부르고 싶다. –