TL;DR
- 마이크로 벤치마크는 입력 크기를 조정해 실행 시간이 약 300밀리초가 되도록 하는 방식이 유용함.
- 밀리초는 1~999의 정수로 표시돼 작은 개선도 알아보기 쉽고, 단위나 소수점 변환이 필요 없음.
- 10밀리초 미만의 실행은 인터프리터 시작 같은 고정 비용에 영향을 받을 수 있지만, 수백 밀리초면 이런 일회성 오버헤드가 대체로 중요하지 않음.
- 수백 밀리초는 사람에게 빠르면서도 체감 가능한 시간이며, 최적화 뒤 명령어가 즉시 실행되는 듯한 변화를 직관적으로 확인할 수 있음.
- 1초 초과의 벤치마크는 반복 측정을 불필요하게 늦추며, 벤치마킹의 목적은 정밀한 성능 측정보다 올바른 결정을 위한 직관을 제공하는 데 있음.
적절한 마이크로 벤치마크 실행 시간
- 마이크로 벤치마크의 실행 시간은 입력 크기를 조절해 약 300밀리초에 맞추는 것을 기준으로 삼음.
- 밀리초는 1부터 999까지의 정수로 나타낼 수 있어 작은 개선도 충분히 알아볼 수 있고 시각적으로 훑기 쉬움. 서로 다른 단위나 소수점이 필요하지 않아 1.31초와 239밀리초를 비교하는 상황도 피할 수 있음.
- 예를 들어 10밀리초보다 빠른 실행은 인터프리터 시작과 같은 고정 비용 때문에 측정값이 왜곡될 위험이 있음. 컴퓨터에 수백 밀리초는 긴 시간이므로, 이를 명시적으로 보정하는 더 복잡하고 덜 견고한 기법 없이도 일회성 오버헤드가 대체로 중요하지 않게 됨.
- 사람에게 수백 밀리초는 빠르지만 알아차릴 수 있는 시간임. 측정값을 사람이 체감하는 범위에 두면 숫자 감각에만 의존하지 않고 시간과 속도에 대한 직관도 활용할 수 있음. 최적화 결과로 이전에는 느리던 명령줄 인터페이스(CLI) 명령이 ‘즉시’ 실행되는 듯한 변화를 확인하는 재미도 있음.
- 1초보다 긴 실행 시간은 벤치마크를 필요한 것보다 느리게 반복하게 만듦. 변동성을 눈으로 확인하려고 벤치마크를 연속으로 10회 실행하는 일은 빨라야 함.
벤치마킹의 목적
- 여기에는 벤치마킹의 목적이 성능을 정밀하게 측정하는 데만 있는 것이 아니라, 올바른 결정을 내리는 데 필요한 직관을 제공하는 데 있다는 전제가 따름.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요