본문 바로가기
QT and Symbian

QT v4.x QElapsedTimer 경과 시간 측정 방법

by leo21c 2025. 6. 30.

QElapsedTimer는 Qt 4.7부터 도입된 클래스로, 두 이벤트 사이의 경과 시간을 빠르게 측정할 수 있도록 설계되었습니다. QTime과 유사한 API를 제공하지만, 가능한 경우 단조(monotonic) 시계를 사용한다는 점에서 더 정확하고 안정적인 시간 측정이 가능합니다.

주요 특징

  • 빠른 시간 측정: 밀리초 단위로 경과 시간을 측정할 수 있습니다.
  • 단조 시계 사용: 시스템 시간이 변경되어도(예: 사용자 수동 조정) 영향을 받지 않습니다.
  • 사람이 읽을 수 있는 시간으로 변환 불가: QElapsedTimer는 디버깅이나 성능 측정용으로 적합하며, 시각 표시에는 적합하지 않습니다.
QElapsedTimer timer;
timer.start();

// 시간 소모가 큰 작업
slowOperation();

qDebug() << "작업 소요 시간:" << timer.elapsed() << "ms";

 

유용한 메서드

  • start(): 타이머 시작
  • elapsed(): 시작 이후 경과 시간(ms)
  • restart(): 경과 시간을 반환하고 타이머를 다시 시작
  • hasExpired(qint64 timeout): 지정한 시간(ms)이 지났는지 확인
QElapsedTimer timer;
timer.start();

while (!timer.hasExpired(1000)) {
    doSomething(); // 1초 동안 반복
}

 

이 클래스는 성능 측정, 타임아웃 제어, 반복 작업 제한 등 다양한 상황에서 유용하게 쓰입니다.

LIST

'QT and Symbian' 카테고리의 다른 글

QT v4.x 기반 TcpClient 예제  (0) 2025.06.30
QT v4.x 기반 TcpServer 예제  (0) 2025.06.30
싱글샷 타이머 사용  (0) 2025.06.30
QT v4.x를 기반으로 startTimer, killTimer 예제  (0) 2025.06.30
QT v4.x Queue 사용  (0) 2025.06.30