C언어 실행속도향상
들찬
질문 제목 : c언어 실행속도향상c언어 반복문을 써서 프로그램을 만들었는데 실행속도를 향상시키고 싶습니다.질문 내용 : c언어 반복문을 써서 프로그램을 만들었는데 실행속도를 향상시키고 싶습니다.
어떤방법을 쓰면 속도를 올릴수 있을까요?
-
달님
그럼 4가 되면 자동으로 종료되나요?
-
찬바리
while문을 goto문으로 바꾸면...
예를 들어
do{
temp = 1~10사이 랜덤숫자 발생;
}while(temp가 4가 아니면 반복);
이러면 4가 아니면 무한 반복하게 되는데 이걸 goto로 고치면
point:
temp = 1~10사이 랜덤숫자 발생;
if(temp가 4가 아니면){
goto point;
}
이런식입니다. -
벤자민
답변해주셔서 정말감사합니다^^
-
상1큼해
main(){ 1
printf(\first\); 2
printf(\second\); 3
point: 4
printf(\third\); 5
goto point; 6
}
이렇게 하시면 first 출력되고 second 출력되고 point: 넘어가고 third 출력되고 goto point;문을 만나
아까 넘어갔던 point: 부분으로 이동해서 그 라인부터 다시 내려옵니다. 그래서 다시 third 출력되고
다시 goto point; 만나고 다시 point: -
훌걸이
죄송하지만 goto반복문 사용법 예시를 보내주실수있나요?
-
찬
무한 반복하다가 특정 조건이 되면 반복문을 탈출한다는 얘기신가요? 코드를 안 봐서 모르겠지만 어떻게 코딩하느냐에 따라 틀리겠죠... goto문을 사용하면 더 빠른건 정수 연산보다 실수 연산이 훨씬 오래 걸리는 것처럼 while나 for문을 쓰는 것보다 goto문을 써서 반복하는게 빠른걸로 알고 있습니다.
-
우솔
정보감사합니다^^goto도 한번 해보아야 겠네요
그런데 프로그램상 반복을 무한대로 하고있다가 특정조건이 될경우 반응해서 작동하는원리라..
줄이는게 불가능하겠죠? -
가이
반복문을 어떻게 쓰셧는지는 모르겠지만 반복횟수를 최대한 줄이는 것도 방법이 될수 있습니다.
그리고 예전에 어디서 본 글인데 정말 속도가 중요한 프로그램이라면 가독성을 포기하고 goto문을 쓰는게
더 효율적이라고 하더군요 while문 for문보다 goto문을 써서 하는게 더 빠르다고한걸 본적이 있습니다.
반복문 횟수를 줄이는 예는... 코드 올려드릴게요 소수 구하는 코드이구요 -
히나
흠..반복을 안하는법은 좀 힘들것같구 병렬화에 대해서 알아봐야겠네요
혹시 사이트 글에서 잘 설명된 게시글이 있나요? -
파란
반복을 안할수 있는 방법을 궁리해 보시거나 병렬화를 해봅니다.