'Programming/C&CPP'에 해당되는 글 1건

  1. C++ Optimization 2008/03/08

C++ Optimization

from Programming/C&CPP 2008/03/08 01:49

C++ Optimization관련 글을 좀 읽어보고 공부해야 할 듯하다. 앞으로 일년간은 C/C++로 짜여진 코드의 성능을 향상시켜야 하는데, 로직이나 알고리즘을 바꿔서 성능 향상을 꾀할 수 있는 부분이 있는가 하면 언어적 특성을 고려하여 성능 향상을 꾀할 수 있는 부분도 있다. 예를 들면, 다음과 같은 코드가 있을 경우,

if ( error_case1 || error_case2 || error_case3 || error_case4 )
{
// error handling
}
else
{
// main routine
}

if 문 안에 여러 조건들이 있기 때문에 assembly code에서는 여러 jump 명령어를 사용하게 된다. 위 코드를 다음과 같이 바꾸면,

bool bIsNotError = !error_case1 && !error_case2 && !error_case3 && !error_case4;
if (bIsNotError)
{
// main routine
}
else
{
// error handling
}

if 문의 조건에 의한 여러 개의 jump 명령이 하나가 된다. 뿐만 아니라 에러 상황이 아닌 경우가 더 많으므로 main routine을 앞으로 오게 하여 좀 더 성능 향상을 꾀할 수 있다.

2008/03/08 01:49 2008/03/08 01:49