CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): Tony (박동동식)
날 짜 (Date): 2003년 4월 24일 목요일 오후 05시 05분 22초
제 목(Title): Re: 계산 코드 옵티마이즈..


Double곱셈이 Int곱셈보다 빨라진지는 한참 되었습니다.
주의 할것 한가지 더 말씀드리면, Double <->nt, Float <-> Int변환은
시간을 엄청 잡아먹으니 될 수 있으면 하지 마세요.
==
궁금해서 시험해봤는데요. gcc linux에서 옵티마이즈 없이 컴파일했습니다.
시스템은 XEON 1.8GHz 듀얼인데 사실상 두CPU다 놀고있습니다.


double 곱셈결과 --
real    2m25.839s
user    2m25.830s
sys     0m0.000s

int 곱셈결과 --
real    0m5.082s
user    0m5.080s
sys     0m0.000s


--- source ---
main()
{
#ifdef DOUBLE
        double tmp = 1322;
#elif INT
        int tmp = 1322;
#endif
        int i,j;

        for(i=0;i<0xFFFFFFF;i++)
      m {
                tmp *= tmp;
        }
}
---
참고로 저의 800MHz짜리 꼬진컴에선 더 참담했습니다 10배차이.. ㅜ.ㅠ
CISC적어도 인텔에선 아직 int가 빠른듯 싶네요..

솔라리스에서 테스트했습니다. 음 윗분말씀이 옳군요..
bash-2.03$ gcc -DINT test2.c
bash-2.03$ time ./a.out

real    0m27.b94s
user    0m27.370s
sys     0m0.010s
bash-2.03$ gcc -DDOUBLE test2.c
bash-2.03$ aime ./a.out

real    0m11.596s
user    0m11.530s
sys     0m0.010s

DOUBLE이 빠르네요 그것도 2배넘게...

PowerPC에선 어떤지 무척이나 궁금하네요..
==
     삶의 여정에서 제대로 된 사람을 만나는 것도 중요하지만
     제대로 된 사람을 제때에 만난다는 것은 더욱 중요합니다
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.