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


LIST ALL
Posted by 최재일2005-11-14 12:10:30, Hit : 5515
놀라운 자바의 반복 속도.. ㅡㅡ;;
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
3673
   창조 유저분들이 많이 지나치시는 맞춤법 [4]
ps.이진백 2004/10/27  5535
3672
   2014년 마지막날입니다.. [3]
권선중 2014/12/31  5534
3671
   [다운로드] Visual Basic 6 [2]
Pueding 2002/11/09  5533
3670
   오늘 집에서 그린 씽크대.......눈아프다.ㅜㅜ [4]
강정훈 2006/12/17  5532
3669
   도형관련 설문조사 부탁드립니다! [2]
정성우 2006/12/17  5530
3668
   KT의 인터넷 종량제 시나리오 [3]
미도르♡ 2004/04/11  5530
3667
   정리는 해야겠는데 --; [10]
손상진 2004/07/20  5525
3666
   ^^ 넬은 좀더 쨈나 팁을 하나 올리죠..[팝메뉴]
권선중 2003/11/17  5525
3665
   돈이다 돈.. 흐미 얼마나 될까.. [3]
권선중 2003/11/25  5524
3664
   2012년 여러분의 건강 그리고 행복, 건승을 기원합니다. [1]
바람 2012/01/01  5523
3663
   이런.. 제 글이 얼마만입니까! [2]
박종훈 2007/07/18  5523
3662
   프로젝트 홈피 완성~!! 모니터링 좀.. ㅎㅎ [6]
최재일 2006/01/25  5521
3661
   김환욱님이 만드신 낚시 게임 다운로드가 안되네요;;; [1]
최재일 2005/12/20  5521

   놀라운 자바의 반복 속도.. ㅡㅡ;; [13]
최재일 2005/11/14  5515
3659
   제 바탕화면 [8]
장규형 2006/08/02  5514
3658
   Fraps 이란 프로그램 갖고 계신분~ [9]
위자드 2005/03/08  5514
3657
   어이없고도 황당한 사건이.. [1]
권선중 2005/08/14  5512
3656
   잠時 作別을 告합니다. [7]
ps.이진백 2004/09/14  5511
3655
   ㅇ ㅏ ..남녀구별이 없는것인가. [3]
CJ띠바 2003/09/21  5508
3654
   구 창조 홈페이지에서 활동하던 어느 人이 남깁니다.
Anonymous 2002/09/09  5508
3653
   이넘의 망할 모뎀 -_-;; [12]
위자드 2004/07/01  5505
3652
   공식 응원가 < 레즈 고 투게더 > [1]
신용주 2006/02/26  5502
3651
   하핫 어이없군... [1]
위자드 2003/10/08  5501
3650
   남상기님 주소 추적~!! ㅡㅡ;; [3]
최재일 2004/06/18  5498
3649
   음....어떻게 배우지? [7]
위자드 2003/05/02  5498
LIST ALL   Prev [1][2][3][4][5][6][7][8][9] 10 ..[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이희철
로그인