프로그래밍 for루프에 대해서 궁금한점있어요

글쓴이
남자의꿈
등록일
2014-05-22 22:51
조회
6,535회
추천
0건
댓글
8건
제가 c언어 공부를하고 이번에 matlab 공부를 하고있는데
책에 'for루프는 유용하지만 간략하고 빠른코드의 작성에 관심이 있는 유능한 프로그래머들은 가능한 for루프의 사용을 피하려고 한다.' 라고 되어있는데 구체적으로 어떤 루프를 사용해야 더 간략하고 빠른코드를 작성할수있다는건지 그리고 실제로 프로그래밍 하시는분들의 의견을 듣고싶어요~

  • 남자78 ()

      for 루프는 특정 변수를 특정 횟수만큼 반복해서 돌릴 때 쓰는 것이지 않나요? 프로그래머들이 피하려고 한다는 방법이라는 것은 아마도 조건문을 구현할때 for를 무한루프로 돌리다가 특정 키값이나 이벤트를 받았을때 for루프를 종료시키는 방법이 아닐지요?
    C언어에서서는 if() 나 switch() 함수를 쓰면 될텐데 그에 대응하는 매트랩 함수가 어떤 것인지는 모르겠네요.

  • bittersweet ()

      프로그래밍 전반에 관한 얘기인지 matlab에 한정적인 얘기인지는 모르겠는데 matlab에서는 matrix연산을 이용하면 for문없이 한번에 연산하는게 가능하죠.
    예를들자면 1~10까지의 값을 제곱하여 저장하는 프로그램을 만든다면 C는 아래와 같이 for문을 10번 돌아야만 합니다.
    for(i=0;i<10;i++) y[i]=x*x;

    반대로 매트랩은 아래와 같이 for문 없이 matrix연산으로 바로 y값을 구할수 있죠
    x=[1:10]; y=x.^2;

  • 앗살라말리꿈 ()

      일반적인 프로그래밍에서 for 루프와 같은 명령을 회피하는게 좋다는건 간략한 4X4 행렬과 같은 간략한 array는 for 루프보다 un-rolling을 통해서
    A(1,1) = v11 ; A(1:2) = v12 ... A(4,4) = v44와 같이 직접 풀어서 기재하는게 좋다는걸 의미합니다.

    참고로 google에서 프로그래밍에서의 un-rolling과 rolling에 관해서 검색해보면 더욱 세부 내용을 찾을 수 있습니다.

  • 빨간거미 ()

      빠른 코드에서 '빠른'이 무엇이 빠르다는 의미인지 궁금하네요.
    연산속도가 빠를리는 없을텐데...
    코딩이 빠르고 간편하다는 의미 아닌가요?

  • cchem ()

      연산 속도가 영향을 줍니다.  제 경험으로는 요즈음은 컴파일러 수준에서 거의 비슷한 속도를 보여 주는 것으로 알 고 있습니다.

  • bittersweet ()

      빠르다는건 사용자가 C코딩이후 컴파일 결과의 어셈블리 코드의 라인수가 짧으면 연산속도가 빠른겁니다. 동일한 clock 스피드로 CPU가 시간당 처리할수있는 인스트럭션의 수는 정해져있으니 어셈 코드가 짧게나오게 C코딩하는게 중요합니다.

  • aeropo ()

      앗살라말리꿈 님께서도 언급하셨는데 아마 loop unrolling에 관한 내용이 아닐까 하네요.
    pipeline depth가 깊어지니 branch prediction miss가 났을 때의 overhead가 커지므로(pipeline을 flush해야 하니까..), branch를 줄여보자...는 테크닉입니다.

  • xxcxcv ()

      대형 방정식을 구성할 때... 예를 들면 FEA를 구현하다보면 뭔말인지 느낌이 확 오실겁니다.

목록


과학기술Q&A

게시판 리스트
번호 제목 글쓴이 등록일 조회 추천
3804 핸드폰 배터리 잘 아시는 분들께 질문드립니다. 댓글 1 waver 06-24 3990 0
3803 여기서 구식인 것들 무엇무엇인가요? (컴퓨터 네트워크 쪽 좀 아시는분들!!!) 링가링가링 06-19 3711 0
3802 적분 문제 좀 도와주십시오 댓글 6 심각 06-17 5178 0
3801 습공기선도 공부하고 있는데 문제좀 해결 부탁드립니다ㅜㅜㅜ 고블린땜장이 06-13 11921 0
3800 탄소나노튜브... 반도체로 쓸수 없다?? 댓글 1 써니텐11 06-13 4555 0
3799 전자전기공학부 3학년입니다 !! 궁금한게 있습니다 선배님들! 이명진 06-11 3592 0
3798 현직자의 AVR 공부관련 질문입니다. 댓글 2 소혜성 06-06 5185 0
3797 적층가공, 라소그래피, 리토그래피, 스테레오리토그래피에 관한 질문입니다. 댓글 1 건설인 06-01 4780 0
3796 모터 제어 질문입니다. 댓글 4 뼝알 06-01 5133 0
3795 Etchant 용액 제조 관련 질문입니다. 댓글 1 Gildas 05-29 4197 0
3794 열교환기나 보일러 설계등의 관점에서 엔트로피를 고려하는 경우는 이유는 무엇일까요? 댓글 3 남자78 05-28 5456 0
3793 gfsk 복조방식 질문드립니다. 댓글 1 태성 05-25 6766 0
열람중 프로그래밍 for루프에 대해서 궁금한점있어요 댓글 8 남자의꿈 05-22 6536 0
3791 열전대 온도계에 대한 질문입니다. 댓글 1 쿠바짐승 05-19 4985 0
3790 matlab 부탁드립니다~ 댓글 4 clouds 05-18 4925 0
3789 Gaussian Filter의 장점 위즈돔 05-18 5958 0
3788 An alternative form of Fermat-Euler's theorem 댓글 2 quicksilver 05-08 5176 0
3787 프로그램 관련해서 물어볼게 있습니다. 댓글 4 쿠바짐승 05-08 4069 0
3786 컴공자의 해외대학원 댓글 2 아따ㅋㅋ 04-26 5186 0
3785 변분법 질문입니다.(최적 제어) 댓글 2 eeSCV 04-19 5520 0


랜덤글로 점프
과학기술인이 한국의 미래를 만듭니다.
© 2002 - 2015 scieng.net
모바일 버전으로 보기