Java의 특정 메소드로 인한 오버 헤드를 확인하려고합니다. 메소드가 "보내기 (메시지)"이고, "로그 (타임 스탬프), 보내기 (메시지), 로그 (타임 스탬프)"및 타임 스탬프 간의 차이점을 찾고 싶습니다. 이 방법은 메서드가 매우 빠릅니다 (예상되는 차이는 나노초 단위 임). 시간 소인을 기록하는 데 걸리는 시간도 측정하고 싶지 않습니다 (무시할 수없는 경우 제외). 타임 스탬프를 효율적으로 기록하는 방법을 권해 주시겠습니까?보통 대기 시간이 나노초 간격 인 낮은 대기 시간 로깅
1
A
답변
2
이 작업을 수행하는 가장 좋은 방법은 메서드 호출 전에 시간을 기록한 다음 메서드를 천 또는 수백만 회 호출하고 종료 시간을 기록하는 것입니다. 빠른 부서는 한 번의 통화에 소요되는 총 시간을 알려줍니다 (매우 작음).
JIT로 인해 프로덕션 환경에서 실행되는 것과 동일한 방식으로 테스트 방법을 확인하십시오. 그렇지 않으면 실제 결과와 테스트 결과 중 하나에서 결과가 달라질 수 있습니다. 또한 시간 테스트를 시작하기 전에 수천 번 방법을 실행하여 완전히 최적화 된 코드를 실제로 실행하는지 확인할 수도 있습니다. 당신이 log
오버 헤드 두려워하는 경우
+0
감사합니다. wobblycogs 및 fge! –
0
이 해결 방법은 간단하다 :
final long before, after;
before = System.nanoTime();
send(message);
after = System.nanoTime();
log("before: " + before);
log("after: " + after);
유일한 오버 헤드 왼쪽 따라서 System.nanoTime에 대한 호출()이다.
관련 문제
- 1. 낮은 대기 시간 Bigdata On Couchbase
- 2. PhoneGap iOS 낮은 대기 시간 오디오
- 3. 높은 대기 시간 Azure 웹 사이트 - 대기 시간이 높음
- 4. 낮은 대기 시간 Android 및 Arduino 블루투스
- 5. 가능한 가장 낮은 HTTPS 대기 시간?
- 6. 낮은 대기 시간 프로토콜을 사용하는 푸시 메커니즘
- 7. Verilog의 낮은 대기 시간 FWFT Fifo
- 8. 로그 작업 대기 시간
- 9. Tomcat 산발적 대기 시간
- 10. 대기 시간이 짧은 C++ 응용 프로그램의 대기 시간을 측정하는 방법
- 11. 도달 대기 시간이 경과했습니다.
- 12. 요청 대기 시간 확인
- 13. AudioQueueNewInput 콜백 대기 시간
- 14. MMIO 읽기/쓰기 대기 시간
- 15. 낮은 부하에서 앱 엔진 일관된 대기 시간이 급증 함
- 16. Android : OpenSL 최하위 대기 시간
- 17. Java TCP 대기 시간
- 18. 버튼의 재사용 대기 시간
- 19. Socket.IO 및 대기 시간
- 20. AirPlay 대기 시간 감지
- 21. 응용 프로그램의 대기 시간이 있습니까?
- 22. Heroku 대기 시간 문제
- 23. 대기 시간 해외
- 24. 낮은 대기 시간 피어 투 피어 udp 터널링 라이브러리?
- 25. MySQL, 인덱스 및 "대기 대기 시간 초과"
- 26. 대기 시간 문제
- 27. webapps의 대기 시간이 낮은 양방향 통신을위한 java/flash의 대안은 무엇입니까?
- 28. 낮은 대기 시간 읽기 및 쓰기에 대한 지속성 전략
- 29. WaitForSingleObject 시간 초과 대기
- 30. ajax HTTP 요청 대기 시간
[caliper] (https://code.google.com/p/caliper/) – fge