코드의 성능을 측정하려고 할 때 루프에 넣고 백만 시간 동안 반복합니다. 성능을 측정 할 때 루프의 오버 헤드를 줄이는 방법은 무엇입니까?
for i: 1 -> 1000000
{
"test code"
}
그러나 프로파일 링 도구를 사용하여
, 나는 루프의 오버 헤드가 매우 큰 것으로 나타났습니다 크게는 영향을 성능 결과를 그 코드의 조각, 말, 작은 특히 총 경과 시간의 1.5 초와 0.5s의 루프 오버 헤드.성능을 테스트하는 더 좋은 방법이 있는지 알고 싶습니다. 또는이 방법을 고수해야하지만 같은 루프 아래에서 동일한 코드의 여러 부분을 만들어 성능에서의 가중치를 높여야합니까?
for i: 1 -> 1000000
{
"test code copy 1"
"test code copy 2"
"test code copy 3"
"test code copy 4"
}
또는 총 시간에서 루프 오버 헤드를 뺀 것이 좋습니까? 고마워요!
좋은 컴파일러는 루프를 어느 정도 언 롤합니다. 어떤 종류의 작업을 벤치마킹합니까? –
@ E_net4 표현 템플릿을 테스트 중입니다. 어셈블리를 검사했지만식이 작을 때조차도 풀린 것이 아니라는 것을 발견했습니다. 예를 들어 A + B입니다. – user3156285
어떤 컴파일러를 사용하고 있으며 어떤 플래그를 시도 했습니까? –