창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


LIST ALL
Posted by 최재일2005-11-14 12:10:30, Hit : 5474
놀라운 자바의 반복 속도.. ㅡㅡ;;
Homepage : http://daeparklotto.wo.to
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=freeboard&no=2365

500,000번 반복시키는 자바 코드입니다.
-----------------------------------------------------------
class SystemExam {
 public static void main(String args[]) {
  long start, end;
  start = System.currentTimeMillis();
  System.out.println("현재 시간 : " + start);
  // 1970년 1월 1일부터 현재까지의 시간을 밀리초로 반환
  System.out.println("500,000회의 loop를 반복 시작");

  for(int i=0; i < 500000; i++);

  System.out.println("500,000회의 loop를 반복 종료");
  end = System.currentTimeMillis();
  System.out.println("반복 종료 시간 : " + end);
  System.out.println("반복 소요된 시간 : " + (end - start));
 }
}
------------------------------------------------------------
시스템 성능에 따라 다르겠지만,
제가 테스트해본 결과.. 10밀리초가량 걸리네요 ㅡㅡㅋ

창조로 위와 비슷하게 코딩하여보았습니다.
------------------------------------------------------------
실수 : 시작시간, 종료시간;
실수 : 수;
수 := 0;

메모0.내용.추가("500,000의 반복문을 반복 시작");
시작시간 := (시각시풀어(현재시간)*3600)+(시각분풀어(현재시간)*60)+시각초풀어(현재시간)+(시각밀리풀어(현재시간)*0.001);
메모0.내용.추가("현재 시간 : " + 수를문(시각시풀어(현재시간))+"시 "+수를문(시각분풀어(현재시간))+"분 "+수를문(시각초풀어(현재시간))+"."+수를문(시각밀리풀어(현재시간))+"초");

반복 {
  수 := 수 + 1;} 까지 (수 > 500000);

종료시간 := (시각시풀어(현재시간)*3600)+(시각분풀어(현재시간)*60)+시각초풀어(현재시간)+(시각밀리풀어(현재시간)*0.001);
메모0.내용.추가("500,000의 반복문을 반복 종료");
메모0.내용.추가("반복 종료 시간 : " + 수를문(시각시풀어(현재시간))+"시 "+수를문(시각분풀어(현재시간))+"분 "+수를문(시각초풀어(현재시간))+"."+수를문(시각밀리풀어(현재시간))+"초");
메모0.내용.추가("반복에 소요된 시간 : " + 수를문(종료시간-시작시간)+"초");
------------------------------------------------------------
이 코드로 500,000회 반복시켜보니
소요시간이 140초가량.. OTL

음.. 10밀리초와 140초라....... 엄청난 속도차이;;


최재일   2005-11-14 PM 12:15:13  
되풀이 (수 < 500000)
수 := 수 + 1;
로 해도 140초가량 비슷하게 걸리네염;;
지상현   2005-11-14 PM 5:42:40  
자바도 느린 편에 속합니다;; 물론 JIT를 사용하면 어느 정도 나오겠지만요.
자바도 인터프리터거든요... 다만 최적화 상태에 따라 다르겠죠.

참고로 C나 델파이로 짠 것은 더 빠릅니다;;
자바가 그런 것들의 최대 반 정도의 성능을 낸다고 합니다.
qkrwhdgns   2005-11-14 PM 7:25:06  
창조도.. 속도개선과.. 메모리 점유률을 나추어야 하는데......
최재일   2005-11-15 AM 10:14:34  
음.. 역시나 속도;;;;
창조도 델파이로 만든걸로 알고 있는데 창조는 왜이리 느릴까요??
고감자   2005-11-15 AM 10:30:27  
자바 절대 느린 언어가 아닙니다. 전에 C++하고 속도 비교를 한 통계를 본적이 있는데 그리 차이가 나지 않더군요. 물론 C하고 비교를 해서는 안되죠. ^^
고감자   2005-11-15 AM 10:36:58  
프로그램을 만들고자 함은 개발자의 생각을 어느 틀(언어)안에 넣어서 만드는것이라 생각됩니다. 그 틀에 따라서 개발자의 생각의 폭도 넓어지죠. 저는 어느정도 속도를 희생하더라도 그런 자유로운 틀안에서 놀고싶은 마음 뿐이네요.

게다가 프로그램이 커지면 커질수록 언어적인 속도에 종속되기 보다는 개발자의 알고리즘적 테크닉에 훨씬더 영향을 많이 받죠.
같은 프로그램을 C로 Java로 짰는데 Java가 훨씬 빠를 경우가 많습니다. 바로 이런 사례들이 알고리즘적 테크닉의 중요한 증거라 할수 있죠.
고감자   2005-11-15 AM 10:42:30  
물론 제가 이 자리에서 바로 사용할수 있는 언어는 C, Python, Java정도가 됩니다.
하루에 이 세가지 언어를 다 사용해서 업무를 보는게 예사인데요.
재미로 치자면 Python이 코딩하는 재미가 제일 많고.
그다음이 C 마지막이 Java입니다.

Java는 쓸데없는 코딩량이 많아서 이클립스가 아니면 코딩량을 감당 못합니다. 그치만 Java는 안정적이라서 DB 핸들링할때 주로 쓰죠.
qkrwhdgns   2005-11-15 PM 7:02:21  
저는.. 이자리 에서.. 가장 잘 다루는 언어는.. '우리어'..
바로 창조;;;;; 다른것은 전무;;
지상현   2005-11-15 PM 7:29:28  
물론 당연히 언어에 특성에 따라 알맞는 언어를 선택해야 한다는 사실은 알고 있습니다.
그렇지만 제가 말한 것은, 프로그래머의 능력이 개입되지 않는...

언어 자체만의 성능을 두고 판단한 것이지요 ^^
똑같이 짜도 자바쪽이 더 느린 것은 사실입니다.(그게 사람이 느낄 수 있는 속도인지는 의문이지만)

여튼 저는 단순히 언어적인 특성에서 속도 비교를 한 것인데, 다른 분께 자바가 C보다 느리다라는 인상을 심어줬다면 제가 잘못 말한거겠죠.
지상현   2005-11-15 PM 7:31:53  
자바쪽이 C, C++ 보다 좀 더 고급 언어이고, 또한 왠만한 직접 접근은 제한하고 있습니다. 그 외에 가비지 컬렉션 같은 고급 언어의 수많은 부가 기능을 지원하고 있기 때문에.... 아무리 똑같이 짜도 오버헤드는 있기 마련입니다.
항상 오버헤드는 있습니다. 어셈으로 코딩 하면 가장 빠른 것이 오버헤드가 가장 적기 때문이죠.

다만 이식성에서는 자바쪽이 훨씬 유리하다는 장점이 있죠.
그러니까 속도를 보고 언어를 결정하는 것은 바보짓이라는 겁니다.

다만, 굳이 속도를 따진다면 자바보다는 C++가 더 우위라는 것입니다.
지상현   2005-11-15 PM 7:34:39  
한마디만 더 강조...^^
느리다고 하는 것은 어디까지나 상대적인 것일 뿐, 절대적인 기준이 아닙니다.
예를 들어, 100m 달리기를 했을 때 1등이 9초고 2등이 8.99 초였으면, 2등은 분명 1등보다 느린 것이지요.

느린건 느린겁니다. 다만 그 차이가 얼마나 작느냐가 중요한 것이지요.
다시 한번 말씀드리지만 자바는 언어 자체적 특성 때문에 같은 시스템과 같은 알고리즘, 같은 수준의 컴파일러 최적화에서 C++ 보다 빠를 수는 없죠. C++보다 고려해야 할 것이 더 많으니까요. 다만 어느 정도까지 속도가 비슷해지냐가 관건이 될 것입니다.

혹여나 하는 말인데, 그렇다고 무조건 C++가 좋다는 것은 아닙니다.
최재일   2005-11-16 PM 8:54:42  
근데 어쩌다 C 애기가;;;;
난 창조랑 자바랑 비교했던건데여,,
창조는 좀더 빨리질 수 없나;;
지상현   2005-11-16 PM 9:19:51  
남상기님께서 최적화를 하셔야;;
LIST ALL               GO TO THE TOP


N
C
   Subject
Posted by
Date
H
3646
   음....어떻게 배우지? [7]
위자드 2003/05/02  5467
3645
   즐거운 감상하세요..^^ [1]
권선중 2003/11/26  5466
3644
   끄억… 쓸만한 창조 관련 유틸리티를 만들려고 했더니… [2]
지상현 2007/06/22  5462
3643
   하핫 어이없군... [1]
위자드 2003/10/08  5461
3642
   CD에서 돌아가는 운영체제라..... [7]
이정도 2006/06/13  5460
3641
   잠時 作別을 告합니다. [7]
ps.이진백 2004/09/14  5460
3640
   몹 인공지능 제작.. [2]
권선중 2006/07/16  5456
3639
   g300 사용기~~ [8]
이진백 2006/07/19  5451
3638
   막간을 이용한 혼동되는 맞춤법 구분법
이진백 2005/05/06  5449
3637
   요즘... 들어오는 사람만 들어오는듯.. [2]
박제헌[Heoni] 2004/08/14  5444
3636
   박종훈님 [3]
이진성 2008/07/26  5442
3635
   창조....세이브파일 [5]
손상진 2004/01/10  5440
3634
   그분이 오셨어요... OTL [12]
정성우 2007/02/15  5439
3633
   프로그래밍은 결국 디자인 이다. [13]
김길남 2007/02/13  5439
3632
       [re] 좀더 깊이 생각을 하시었음 합니다.. [6]
권선중 2003/09/07  5431
3631
   새로운 리눅스의 시작...
신용주 2007/07/21  5430
3630
   김선일 씨 참수, 부비트랩까지 설치하다니.. [5]
정윤부 2004/06/23  5430
3629
   새로운 작업 착수!!!!!!!!!!!!!!! [1]
Midor☆ 2003/02/08  5429
3628
   창조 베타 버전, "편집중의 버그" 보고!
지상현 2005/10/24  5425
3627
   저에게 그리운 사이트들 [4]
이진성 2007/04/17  5419
3626
   프로그래밍은 예술이여야 한다. [20]
김길남 2007/02/09  5414
3625
   내일은 수학여행 가는 날~ -_-; [3]
위자드 2003/05/06  5414
3624
   기대되는 우리나라 애니들...
Midor☆ 2003/02/26  5414
3623
   거의다 완성되었습니다. [1]
막강철다리 2003/01/20  5411
3622
   이상하네요.. xp 서비스팩2를 까니... [11]
최재일 2004/10/08  5404
LIST ALL   Prev [1].. 11 [12][13][14][15][16][17][18][19][20]..[156] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인