unsigned int i;volatile unsigned int a;clock_t start,end;start=clock();for(i=0;i<0x30000000;i++){a = 0xdfdfdfdf;(a % 1000) == 0;}end=clock()-start;printf(\"%d.%d secs\\n\",(int)(end/CLOCKS_PER_SEC),(int)(end%CLOCKS_PER_SEC));start=clock();for(i=0;i<0x30000000;i++){a = 0xdfdfdfdf;(a/1000*1000)==a;}end=clock()-start;printf(\"%d.%d secs\\n\",(int)(end/CLOCKS_PER_SEC),(int)(end%CLOCKS_PER_SEC));return
SIGSEGV(pjm0616)2008-08-12 12:57
%2라고 쓰면 컴파일러가 알아서 &1로 바꿔주지 말입니다.
디-(116.122)2008-08-12 13:00
네 근데 저는 스크립트 언어에서 해볼려고 하는것이라서 ^^;; 스크립트 언어는 성능이 딸리니까 컴파일러 언어에서 잘 안하는짓을 많이들 하더라구요 디어셈블해서 나온걸 토대로 기계어를 인라인으로 실행하는거라던지-_-;;;
Scripter(scripter)2008-08-12 13:02
`디어셈블해서 나온걸 토대로 기계어를 인라인으로 실행하는거라던지\' // 변태
SIGSEGV(pjm0616)2008-08-12 13:04
모듈 만들어서 스크립트 언어에서 쓰면 되지 않음?
SIGSEGV(pjm0616)2008-08-12 13:04
물론 그렇게 해도 되는데 스크립트 쓰는 사람들이 그런걸 대체로 싫어하는것 같아요 c식으로 막 링크 갖다붙이는거요
Scripter(scripter)2008-08-12 13:06
저는 닉대로 (컴파일 과정 없고, 동적 타이핑인) 스크립트 언어가 너무 좋아서 시도는 닥치는 대로 다 해보고 있어요 원래 펄은 안해보려고 했었는데 SIGSEGV님이 하도 얘길하셔서 문법만 구경해봤는데 생각보단 문법도 c랑 공통점도 많은거 같고 해볼만한것 같더라구요 펄도 그렇고 스크립트란 스크립트는 다 해볼작정이에요 물론 그중에 맘에드는것들만 골라야죠^^;
Scripter(scripter)2008-08-12 13:11
제가 느낀건 아이러니하게도 스크립트하는 사람들이 성능을 더 따지는것 같아요-_- 그래서 위와 같은 발악도 해보는것이고
if((y / x) * x == y) then y is multiply of x end
프로그램 실행하기전에 이코드가 인텔껀지, AMD껀지 등등을 체크한후에 CPU마다 다르게 연산방법을 적용하면 되겠네.
스크립트라서 cpu는 상관이 없을것 같아요
위키피디아 보니까 모듈로를 살균크리너님이 하신것 처럼 다른 연산으로 성능 개선을 하는게 나오던데 이상하게 체감이 잘 안되네요
와..피제수라는 말 정말 오랜만에 들어보네요-_-;;
늑대데일이나 욕구필드 같은 젖나 빠른 cpu에서 동작시키면서 체감이 안된다고 하면 혼난다.
저가형 e2160쓰고 있어요 x % 2 를 x & 1로 바꿔서 100만번 돌렸을때 0.1초 정도 빨라지는 cpu에요
펜티엄에서 돌려도 별 차이안난다 알겠니? 자네가 임베디드할 게 아니면 아 그냥 저렇게 해도 되는구나 하고 넘어가라.
그냥 답변만 주셔도 좋은데 따로 시간내주셔서 감사합니다
%쓰는게 /x*x 보다 빠름
(0xdfdfdfdf%1000) == 0 0x10000000번 반복: 0.59초 (0xdfdfdfdf / 1000 * 1000) == 0xdfdfdfdf 0x10000000번 반복: 0.71초
unsigned int i;volatile unsigned int a;clock_t start,end;start=clock();for(i=0;i<0x30000000;i++){a = 0xdfdfdfdf;(a % 1000) == 0;}end=clock()-start;printf(\"%d.%d secs\\n\",(int)(end/CLOCKS_PER_SEC),(int)(end%CLOCKS_PER_SEC));start=clock();for(i=0;i<0x30000000;i++){a = 0xdfdfdfdf;(a/1000*1000)==a;}end=clock()-start;printf(\"%d.%d secs\\n\",(int)(end/CLOCKS_PER_SEC),(int)(end%CLOCKS_PER_SEC));return
%2라고 쓰면 컴파일러가 알아서 &1로 바꿔주지 말입니다.
네 근데 저는 스크립트 언어에서 해볼려고 하는것이라서 ^^;; 스크립트 언어는 성능이 딸리니까 컴파일러 언어에서 잘 안하는짓을 많이들 하더라구요 디어셈블해서 나온걸 토대로 기계어를 인라인으로 실행하는거라던지-_-;;;
`디어셈블해서 나온걸 토대로 기계어를 인라인으로 실행하는거라던지\' // 변태
모듈 만들어서 스크립트 언어에서 쓰면 되지 않음?
물론 그렇게 해도 되는데 스크립트 쓰는 사람들이 그런걸 대체로 싫어하는것 같아요 c식으로 막 링크 갖다붙이는거요
저는 닉대로 (컴파일 과정 없고, 동적 타이핑인) 스크립트 언어가 너무 좋아서 시도는 닥치는 대로 다 해보고 있어요 원래 펄은 안해보려고 했었는데 SIGSEGV님이 하도 얘길하셔서 문법만 구경해봤는데 생각보단 문법도 c랑 공통점도 많은거 같고 해볼만한것 같더라구요 펄도 그렇고 스크립트란 스크립트는 다 해볼작정이에요 물론 그중에 맘에드는것들만 골라야죠^^;
제가 느낀건 아이러니하게도 스크립트하는 사람들이 성능을 더 따지는것 같아요-_- 그래서 위와 같은 발악도 해보는것이고