보뇨 다이어리

벤치마킹과 프로파일링 본문

컴퓨터 관련/Python 정보

벤치마킹과 프로파일링

보뇨 2021. 3. 1. 11:07
반응형

해당 내용은 파이썬 성능 높이기 책을 읽다가 내용을 정리했음!

 

1. 프로파일링기법

- 애플리케이션에서 가장 자원이 집중되는 지점을 정밀하게 찾아내는 기법 

- 애플리케이션을 실행시키고 각각의 함수실행에 드는 시간을 모니터링해 애플리케이션이 실행중 가장 많은 시간을 보내는 함수를 찾아내는 프로그램 

- 도구 -> cProfile, line_profiler, memory_profiler, KCachegrind

 

그냥 커맨드로 성능을 실행해보는게 있는데 사진과 같다

usr -> 계산하는 동안 모든 CPU 가 사용한 누적 시간

sys -> 메모리 할당같은 시스템 연관작업동안 모든 CPU 가 사용한 누적시간 

단순하게 참고용으로만 커맨드를 실행해본것이고 자세한건 아래에 기록

 

2. timeit 모듈로 시간 측정할수도 있음

 

3. 테스팅 프레임워크 - pytest 

- http://doc.pytest.org/en/latest 

 

pytest: helps you write better programs — pytest documentation

pytest: helps you write better programs The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. An example of a simple test: # content of test_sample.py def inc(x): return x

docs.pytest.org

4. line_profiler

- 인터페이스가 깔끔하게 되어있고 각 파이썬 라인마다 몇초가 걸리는지 나와있어서 사용하기 괜찮은듯

 

5. dis 모듈

- 개별구문의 성능을 추정하기 위해서 사용할만한 모듈

 

 

반응형