C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[42684] Re:Re:try..catch..를 사용할 때의 성능 차이.
박정진.바보 [reilover] 1755 읽음    2005-11-26 12:48
네. 그냥 쓰기로 했습니다. 의심가는 곳이나 가능성이 있는곳에는 콱콱..
저 결과가 제 꼬진 노트북 (펜3 1G)에서 나온 결과이니까요..
실제 서버는 좋은게 들어갈꺼니까 걱정없을거 같습니다.
여기저기 물어 봤는데 다들 그런이야기는 처음 들었다고 하시는군요.
뭐 실제적으로 처리시간에 차이가 있긴하지만 성능에 차이가 있다고한건
아마 까마득한 옛날 이야기였나 봅니다..^^;;;


마술감자.명국진 님이 쓰신 글 :
: 실제 상용 서버를 작성 할때 try/catch를 사용하지 않는곳은 거의 없습니다.
: try/catch를 써서 성능이 딸리면 더 좋은 머신을 사는것을 권장합니다.
: 그냥 쓰시면 됩니다~
:
: 박정진.바보 님이 쓰신 글 :
: : 여태 까지 try..catch...를 걸면 성능 저하를 가져 온다고 해서 사용을 자제 해왔었습니다.
: :
: : 네트웍 프로그램이라서 반응속도가 좀 느리면 안좋기 때문에 더욱 사용이 꺼려 지더군요.
: : 우선 내부적으로 테스트를 하고서 문제가 없어서 실제 서버에 올려서 서비스를 하니까..
: : 예외의 상황들이 발생하는거 같더군요.
: :
: : 그래서 오늘 한번 얼마나 성능의 저하가 있을까...하고 초무식간단하게 시간 테스트를 해봤습니다.
: : 우선 try...catch...를 배제한 코드와..
: :         float a;
: :         a = 129832789324;
: :         long ttime;
: :         ttime = GetTickCount();
: :         for(int i=0;i<1000000;i++)
: :         {
: :                 a = a + 1000;
: :                 a = a / 3324.12;
: :                 a = a * 23.43;
: :                 a = a / 3324.12;
: :                 a = a * 23.43;
: :
: :                 a = a + 1000;
: :                 a = a / 3324.12;
: :                 a = a * 23.43;
: :                 a = a / 3324.12;
: :                 a = a * 23.43;
: :         }
: :         ttime = GetTickCount() - ttime;
: :         Memo1->Lines->Add(ttime);
: : for문이 한번 돌때마다 try..catch..를 사용한 경우입니다.
: :         float a;
: :         a = 129832789324;
: :         long ttime;
: :         ttime = GetTickCount();
: :         for(int i=0;i<1000000;i++)
: :         {
: :                 try
: :                 {
: :                 a = a + 1000;
: :                 a = a / 3324.12;
: :                 a = a * 23.43;
: :                 a = a / 3324.12;
: :                 a = a * 23.43;
: :
: :                 a = a + 1000;
: :                 a = a / 3324.12;
: :                 a = a * 23.43;
: :                 a = a / 3324.12;
: :                 a = a * 23.43;
: :                 }catch(...)
: :                 {
: :
: :                 }
: :         }
: :         ttime = GetTickCount() - ttime;
: :         Memo1->Lines->Add(ttime);
: :
: : 테스트 결과 try..catch...를 사용하지 안았을경우 평균 100ms
: : 사용했을 경우에는 140ms나오더군요.
: : 뭐 나누기 연산이 가장 부하가 많이 걸릴거 같아서 이따위로.(ㅠㅠ)
: : 테스트를 해봤습니다. 백만번의 for문에서 40ms 차이라면 실제 성능에서는
: : 별 차이가 없지 않을가요?
: : 실제로 프로젝트에서는 아마 천번도 돌지 않을거 같습니다. for문 안에는주로
: : 데이터를 send하는 부분이 들어 갈거구요.
: :
: : 과연 이만한 성능차이가 프로젝트에 영향을 끼칠까요?

+ -

관련 글 리스트
42673 try..catch..를 사용할 때의 성능 차이. 박정진.바보 1942 2005/11/25
42677     Re:try..catch..를 사용할 때의 성능 차이. 마술감자.명국진 1474 2005/11/25
42684         Re:Re:try..catch..를 사용할 때의 성능 차이. 박정진.바보 1755 2005/11/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.