디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

각 언어 반복문 속도

흔들어드세요(175.214) 2011.06.21 05:34:47
조회 1457 추천 0 댓글 30


PC의 환경

CPU : Intel Core 2 Quad Q6600 @ 2.4Ghz

OS : Windows 7 Ultimate x64


개발환경

C++,C#,VB.NET은 Visual Studio 2010 (.NET Framework 4),

VB6는 Visual Basic 6,

JAVA는 Eclipse (JRE6),

AS3는 Adobe Flash CS5 입니다.

프로그램은 모두 x86기반입니다.

 

테스트방법

각 플랫폼의 프로그램을 10번실행 시킨 후의 메모리 사용량과 평균 점수를 체크합니다.

메모리 사용량은 프로그램 종료직전의 메모리 상황으로, 실제 CPU가 풀로드될 때의 상황이 아닙니다.

 

1. Loop Counting

아무것도 없는 빈반복문을 무한반복시키되 1초되면 break

그때 총 몇바퀴 반복했는지 카운팅 횟수를 출력하는 프로그램


 


memory_nhsang.jpg?type=w3

메모리 사용량 (단위:kb)

자바병신

 

score_nhsang.jpg?type=w3

반복횟수

C++이 갑,  1초에 1억6천바퀴



2. Pixel Printing

측정 규칙은, 해상도 1024x768의 모든 픽셀을 랜덤 색상으로 계속 반복해서 채움


AS3,C++,VB6는 타이머의 주기를 1,

C#,VB.NET,JAVA는 쓰레드를 사용해서

5초동안 화면에 출력하고, 그동안 출력된 fps값을 누적한 값이 점수

 

프로그래밍 규칙은 다음과 같습니다.

 

그래픽 앤진은 별도로 사용하지않고 각 언어의 기본 함수로 사용.


일괄적으로 그리는 함수는 사용하지않고 무조건 한 픽셀씩만을 그림.

즉, 1024*768=786432회의 반복이 무조건 필요.

 

byte배열등으로 메모리 데이터를 lock시켜서 적용시키는 방식도 사용하지않음.

이유는 이 방식으로 하면 그저 반복문만 빠르면 되는 1번 실험과 다를것이 없을것같아서.

pixel을 찍는다는것에 의미가 있기때문에 사용하지않음요

 

bitmap 버퍼링이 자동으로 지원되지 않는 언어(C++,JAVA,VB6)라면 수동으로 버퍼링.

C#,VB.NET,AS3는 pixel을 하나하나 찍을때 화면이 출력되지 않는거보니 자동으로 버퍼링이 지원이 되는듯.

그래서 C++,JAVA,VB6의 소스코드에는 버퍼링 코드가 들어가있음

 

 

Memory.jpg?type=w3
 메모리 사용량 (단위:kb)

 자바 병신



 Score.jpg?type=w3

AS3.0 이 갑


 

3. Integer Processing

이번 테스트는 랜덤으로 정수 4개를 받아서 가감승제 연산.

물론 0으로 나눠떨어지면 안되니 나누는 값이 0이 될경우 다시 난수를 발생.

1억번의 연산을 반복하며 매번 난수를 발생(범위 0 이상 10000이하 정수)

시작 시점부터 1억번 연산이 완료된 시점까지 걸린시간이 점수

 

 Memory.jpg?type=w3
메모리 사용량 (단위:kb)

자바 메모리 사용량은 언제나 갑이셧제

AS3의 메모리 사용량이 커진게 아니라 1,2번 테스트와 별차이없음
JAVA의 메모리 사용량이 많이 줄은것 뿐
 

 Score.jpg?type=w3
자바와C++이 빠름
(그래프 높이가 높을수록 병신이 되는 표임)

 4. Floating Processing
이번에는 소수끼리의 연산
double형을 기본으로 하며, 역시 0 이상 10000 이하의 난수
c++은 순수하게 소수난수를 출력하기 어려움이 있기때문에 난수에 1000을 나눈값으로 연산
 
역시 3번과 같은 테스트로, 4개의 난수를 1억번 발생시켜 가감승제 연산을 함
연산하는동안 걸린시간이 점수
 
 Memory.jpg?type=w3
메모리 사용량 (단위:kb)
메모리 사용량좀 잡아.
 
 Score.jpg?type=w3

이번에도 높이가 낮을수록 좋은거임
승자 C#

출처: http://blog.hs.pe.kr/40114309661

-----------------------------------------------------------------------------------
출처의 글이 내용이 많아 대충 요약해서 퍼온거임. 자세한 내용은 출처가서 봐라
느낌점 :
1.AS3는 플래시주제에 의외로 평타는 치네
2.VB.NET 병신 
3.자바 메모리 사용 쩔어

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
340335 Buffer Overflow [2] ㅁㅁ(210.121) 12.12.11 60 0
340333 횽들 svn migration 질문좀 tmp(61.43) 12.12.11 33 0
340332 20000바이트짜리 이미지 udp로 전송하려면 어떻게 해야함요 ㅠ [3] 펔끄유갤로그로 이동합니다. 12.12.11 77 0
340331 횽들아 뮴뮴이 왔어염 ^ ㅅ^ [1] 뮴뮴이 ^ ㅅ^(59.25) 12.12.11 88 0
340330 횽들아 우리 뮴뮴이가 나오지 않아여 ㅠㅠ [3] 뮴뮴이 ㅠㅠ(59.25) 12.12.11 77 0
340329 홀펀칭 및 LTE, 패킷 사이즈에 관해서 질문 [2] 펔끄유갤로그로 이동합니다. 12.12.11 432 0
340328 오늘도 프갤은 평화롭습니다. (1.214) 12.12.11 37 0
340327 서양음식의 비밀 2가지. 1탄 [4] Kyle(220.244) 12.12.11 191 1
340326 공인ip에서 사설ip로 udp전송할때 홀펀칭 쓰는거 맞지? [4] 펔끄유갤로그로 이동합니다. 12.12.11 136 0
340325 webrtc가 온다 [1] 고랭?갤로그로 이동합니다. 12.12.11 83 0
340323 이런 형태의 암호화는 뭥미? [2] 아토케어갤로그로 이동합니다. 12.12.11 192 0
340319 으하핳 내일모레면 소멤 접수일이다 [2] 123(220.124) 12.12.11 142 0
340316 컴퓨터공학 학부생인데요. 현직자님들 복수전공 질문 좋다고소고기사묵겠지갤로그로 이동합니다. 12.12.11 187 0
340314 SI전망이 어떤가요??? [5] 좋다고소고기사묵겠지갤로그로 이동합니다. 12.12.11 245 0
340311 프로그래밍을 하려면 수학을 어느정도 알아야 한다고 하던데 '최대' [2] 컴맹새끼(221.155) 12.12.11 177 0
340310 일 가르쳐주는 사람이 없으니 실력이 안 는다 [3] 밍키맨(112.171) 12.12.10 79 0
340309 7년만에 찾아왔다. 7년전에 넥슨 입사문제 물어보고 도움받아 합격한 1인 [3] 쿵남(220.80) 12.12.10 306 1
340307 nhn 예비과정이라는것에 합격했는데 어찌 공부해야할까요 [6] 하잇후힝(211.243) 12.12.10 1558 0
340303 형들 제발 살려줘.. [2] 이현우(222.236) 12.12.10 69 0
340302 보면 은근히 웹개발자는 프로그래밍 살짝 못하는것처럼 보는 애들있음 ㅋ [3] Kyle(220.244) 12.12.10 282 0
340301 레노미나 [2] 육군야전출신(223.62) 12.12.10 84 0
340300 형들 c언어 이거 좀 부탁해욧!!?? [6] 질전문폭파범갤로그로 이동합니다. 12.12.10 170 0
340298 형들 나 이직됐어 [5] +어게인갤로그로 이동합니다. 12.12.10 160 0
340297 asp 데이터베이스 연동 아는사람 [3] ㅁㅁㅁㅁ(112.145) 12.12.10 59 0
340296 형들 데브로 컴파일했는데 에러뜸 이거 왜이런지좀알려주셈 ㅠㅠ [4] ㅁㅁ(218.156) 12.12.10 58 0
340293 전산관리... 어떤 일을 하는건가요? 또 어떤 능력이 필요한가요? [3] 학자갤로그로 이동합니다. 12.12.10 137 0
340291 리버싱님은 진리입니다. [2] 징기스칸4(125.182) 12.12.10 110 0
340290 유니티 배울려하는데 c#기본 전부다 마스터해야 유니티 제대로 사용할수있? 123123(175.215) 12.12.10 244 0
340289 공인ip에서 사설ip로 UDP패킷 전송 어떻게해요? [11] 펔끄유갤로그로 이동합니다. 12.12.10 114 0
340288 프갤 리눅스쓰는 형들, 이 문제좀 알려줘 [2] 태사웅(119.206) 12.12.10 66 0
340287 자바 예외조건 만드는 구문 이상한지좀봐줘 쎾쓰(175.197) 12.12.10 44 0
340286 데스크탑은 모바일리티가 갑 아닌가요? [4] ㅁㄴㅇ(59.25) 12.12.10 64 0
340285 3dmax 아무것도 모르는 초짜가 이책보고 배울려하는데 어떤지 좀 봐주셈 [2] 호구(175.215) 12.12.10 76 0
340284 다른업종은 뭐 잘나가는줄아냐 [2] ㅁㄴㅇㅁㄴㅇ(59.11) 12.12.10 111 0
340283 노트북은 당연히 휴대성..이 .. 아닐까 생각합니다.. [6] 123(61.106) 12.12.10 196 0
340282 내일 면접보는데요.. [2] 123(219.250) 12.12.10 90 0
340281 레티나맥북이 화면 분리까지되면 레전드 [2] 초보리버서(49.1) 12.12.10 108 0
340280 웹만들때 이렇게배울건데 이러면됨? [4] 잉잉1(175.215) 12.12.10 112 0
340279 내가 컴퓨터 IT 계열의 객관적인 현실을 알려주마. [6] 현실(14.45) 12.12.10 8185 14
340278 개발자 노트북은 당연히 맥북이지! [10] 123(61.106) 12.12.10 376 0
340277 나 자바 이것좀 도와줘!! 답 알려주면 사례함 치킨도쏠수있음 [20] 쎾쓰(175.197) 12.12.10 193 0
340276 이거 preorder 순서좀알려주세요 트리(112.166) 12.12.10 23 0
340275 코딩 할때 기능 구현이 먼저야 GUI 구현이 먼저야 ? [3] 초보(1.250) 12.12.10 172 0
340273 이거 해서 좋은거 [1] 흠.(110.15) 12.12.10 49 0
340272 코딩할때 노트북 [5] 아으(211.234) 12.12.10 182 0
340269 형들 프리랜서 하면서 작성했던 계약서 표지같은거 이력서에 넣으면 불법이야 123(61.106) 12.12.10 57 0
340268 유니티에서 애니메이션 처리할때 ㅡㅡ [8] 잉잉(175.215) 12.12.10 202 0
340267 컴퓨터일 2~3년만 빡쎄게 하면 그다음은 조금 풀리지 않냐? [3] aㄴㅇㅁㄴㅇ(14.47) 12.12.10 136 0
340266 JSP로 DB에 데이터 올리는데 미친년이 키 제약조건 다씹어 왜그런거? [2] 쎾쓰(175.197) 12.12.10 57 0
340265 요즘 신입 초봉 4000넘냐? [7] ㅁㄴㄻㄹ갤로그로 이동합니다. 12.12.10 322 0
뉴스 “군필 아니었어?” 조규성, 장발 ‘싹둑’…파격 변신에 ‘눈길’ 디시트렌드 07.10
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2