|
예전에 최적의 속도를 내기 위해 개발자 사이에 이야기 되던 몇가지 이야기 중의 하나인데,
잘못 알려진 부분이 있네요.
사실 i++ 이나 ++i 나 속도에는 아무런 차이가 없습니다.
빌더는 두 문장다 같은 코드로 최적화 컴파일을 합니다.
그럼 ^^
이슬이야기 님이 쓰신 글 :
: for(int i=0; i<10000; i++) nArray[i] = chArray[i] ;
: {
: }
: for 구문에서 i++;보다 ++i가 더 빨라요..
: 하나는 메모리에 그전값을 저장을 하는 루틴이 들어가고
: 뒤에거는 메모리에 그 전값을 저장하는 루틴이 들어가지 않습니다.바로 수정하구 비교하죠
:
: 거의 차이가 없는데 구래두 0.1초가 아쉽다고 하시니...요렇게 수정을 해보시는것두 좋을듯 하네요
:
: 김태선 님이 쓰신 글 :
: : for(int i=0; i<10000; i++) nArray[i] = chArray[i] ;
: : 이보다 더 빠른 것을 원하신다면
: : 어셈블리코드로 만드는 수 밖에 없는 것 같군요.
: :
: : 잠시 실험해 본 결과로는
: : 어셈블리코드로 작성해도
: : for(int i=0; i<10000; i++) nArray[i] = chArray[i] ;
: : 에 비해 아주 약간의 시간 이득만 얻을 수 있겠더군요.
: :
: :
: : 아담 님이 쓰신 글 :
: : : char chArray[10000];
: : : int nArray[10000];
: : :
: : : for(int i=0; i<10000; i++) nArray[i] = chArray[i] ;
: : :
: : : 이거 말고 좀더 빠르게 수행 할 방법은 없나요?
: : :
: : : 속도에 민감한 프로그램 작성하다 보니 0.1초가 아쉽군요.^^
: : :
: : : 추운 날씨입니다. 감기 조심하시고
: : :
: : : 즐거운 하루들 보내시기 바랍니다.
|