디시인사이드 갤러리

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

갤러리 본문 영역

자바가 CPP보다 훨씬 빠름

헤헤(221.160) 2013.02.02 06:57:14
조회 431 추천 0 댓글 14







그려지는 속도가 자바가 훨씬 빠른게 눈으로 보임

어제꺼는 자바가 너무 빨라서 천천히 그려지는것처럼 보인거같음

근데 왜 자바가 더 빠르지 헤헤




------------------------------MFC 코드 ----------------------------------------------------------


void CChildView::OnPaint() 
{
        CPaintDC dc(this); // 그리기를 위한 디바이스 컨텍스트입니다.
        
        unsigned int count=0;
        CTime start=CTime::GetCurrentTime();
        for(int i=0;i<1000;i++){
                for(int j=0;j<1000;j++){
                                CBrush NewBrush(RGB(rand()%255,rand()%255,rand()%255));
                                dc.FillRect(CRect(i,j,i+50,j+50),&NewBrush);
                                count++;
                }
        }
        CTime end=CTime::GetCurrentTime();

        CTimeSpan t=end-start;
        CString str=_T("");
        str.Format(_T("%d초 소요, 그린 횟수 : %d"),t.GetSeconds(),count);
        MessageBox(str);
}



----------------------자바 코드-------------------------------------------

package view;

import java.awt.Color;
import java.awt.Graphics;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class SpeedView extends JFrame{
        boolean b=false;
        Random r=new Random();
        
        public SpeedView(){
                super("SpeedTest");
                setBounds(0,0,1000,1000);
                setVisible(true);
                setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        }
        
        @Override
        public void paint(Graphics g) {
                super.paint(g);

                int c=0;
                int y=0;
                
                long start=System.currentTimeMillis();
                for(int i=0;i<1000;i++){
                        for(int j=0;j<1000;j++){
                                        g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));
                                        g.fillRect(i, j, 50, 50);
                                        
                                        c++;
                        }
                }
                long end=System.currentTimeMillis();
                String msg=(end - start)/1000 + "초 소요, 그린 횟수 : "+c;
                
                if(b==false){
                        b=true;
                        JOptionPane.showMessageDialog(this, msg);
                }
                
        }
        
        public static void main(String[] args) {
                new SpeedView();
        }
}



--------------------------WinAPI---------------------------------------------------------


#include <windows.h>
#include <time.h>

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE g_hInst;
HWND hWndMain;
LPCTSTR lpszClass=TEXT("Class");

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
          ,LPSTR lpszCmdParam,int nCmdShow)
{
        HWND hWnd;
        MSG Message;
        WNDCLASS WndClass;
        g_hInst=hInstance;

        WndClass.cbClsExtra=0;
        WndClass.cbWndExtra=0;
        WndClass.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
        WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
        WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
        WndClass.hInstance=hInstance;
        WndClass.lpfnWndProc=WndProc;
        WndClass.lpszClassName=lpszClass;
        WndClass.lpszMenuName=NULL;
        WndClass.style=CS_HREDRAW | CS_VREDRAW;
        RegisterClass(&WndClass);

        hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
                CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
                NULL,(HMENU)NULL,hInstance,NULL);
        ShowWindow(hWnd,nCmdShow);

        while (GetMessage(&Message,NULL,0,0)) {
                TranslateMessage(&Message);
                DispatchMessage(&Message);
        }
        return (int)Message.wParam;
}

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
        HDC hdc;
        PAINTSTRUCT ps;
        int passtime;
        TCHAR msg[128];
        LARGE_INTEGER start, end, count;
        static HBRUSH hBrush,oldBrush;
        static RECT rt;
        int cnt=0;

        switch (iMessage) {
        case WM_CREATE:
                hWndMain=hWnd;
                SetWindowPos(hWnd,NULL,0,0,1000,1000,SWP_NOZORDER);
                srand( (unsigned int)(time(NULL)) );
                
                
                return 0;
        case WM_PAINT:
                hdc=BeginPaint(hWnd, &ps);
        
                QueryPerformanceFrequency(&count);
                QueryPerformanceCounter(&start);
                
                for(int i=0;i<1000;i++){
                        for(int j=0;j<1000;j++){
                                hBrush=CreateSolidBrush(RGB(rand()%255,rand()%255,rand()%255));
                                oldBrush=(HBRUSH)SelectObject(hdc,hBrush);
                                rt.left=i;
                                rt.top=j;
                                rt.right=i+50;
                                rt.bottom=j+50;
                                FillRect(hdc,&rt,hBrush);
                                DeleteObject(SelectObject(hdc,oldBrush));
                                cnt++;
                        }
                }
                
                QueryPerformanceCounter(&end);
                passtime = (end.QuadPart - start.QuadPart)  / count.QuadPart ;
                
                wsprintf(msg ,TEXT("%d초 소요, 그린 횟수 : %d"), passtime, cnt);
                MessageBox(hWnd,msg,TEXT("WinAPI"),MB_OK);

                EndPaint(hWnd, &ps);
                return 0;
        case WM_DESTROY:
                PostQuitMessage(0);
                return 0;
        }
        return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
345320 자료구조 예습 중인데. [4] help(114.207) 13.02.08 143 0
345319 자바관련 진로고민좀 들어줘...(상담글) [2] 자바초보(119.197) 13.02.07 138 0
345317 형들 소프트웨어관리개발병 질문ㅇ [3] 소프트웨어병(203.226) 13.02.07 210 0
345316 안녕하십니까 선배님들 이번에 컴공에 입학하는 신입생입니다 [4] 새내기(203.226) 13.02.07 3401 0
345315 취미 프로그래밍 과외 같은거 있으면 좋을텐데 [1] ㅇㅇ(116.199) 13.02.07 108 0
345314 ㅋㅋㅋ 뭐지 채용공고 연봉이 오르면 이상한거 맞죠?? [2] ㅁㄴㅇㄹ(122.37) 13.02.07 147 0
345313 재직자과정 주말로 다니려는데 [2] 개구리래머갤로그로 이동합니다. 13.02.07 113 0
345311 외계인이있다고해도.. 지구인보다 멍청할듯하다. [1] 개같은생각(211.237) 13.02.07 67 0
345310 안드로이드에서 핸드폰을 서버로 돌릴수 있나요?? [4] 일단개발자(119.149) 13.02.07 202 0
345307 네이버 메인화면 소스보고 전부 해석되는분 계십니까? [4] ㅎ헐(211.203) 13.02.07 181 0
345306 비주얼 스튜디오 버전 머써요?? [4] VS 버전(182.172) 13.02.07 117 0
345305 HTML5나오면 온라인 게임 사라지는거 아니냐! [7] 대문왕(14.36) 13.02.07 208 0
345303 html5 로전략RPG 만들거다. [3] gkgkgk(1.231) 13.02.07 142 0
345302 정보보안 하실분 대학원 가세요. ㅇㅇ(112.148) 13.02.07 169 0
345301 C++에서 true false 대문 소문 다 되잖앙 [4] 대문왕(14.36) 13.02.07 102 0
345299 시발 지금깢이 일한다. [7] sk(112.170) 13.02.07 97 0
345298 유니티엔진구매하려는대 아이폰용으로얼마정도듬? [2] 으하(211.237) 13.02.07 101 0
345297 백왕님 혹시 사장님이세여? 순수궁금(175.115) 13.02.07 67 0
345295 내가 돈 버는 법 알려주지 [6] 에어로홍갤로그로 이동합니다. 13.02.07 193 0
345293 보안전문가 쪽 희망하고있는데.. [3] ㄴㅂㄴㅂ(119.56) 13.02.07 151 0
345292 한 겨울에 소나기 듣자.... ㅋㄱ(183.96) 13.02.07 24 0
345290 xx부대 살인사건 , tag[소설, 스크롤]4 [1] 소설맨(116.33) 13.02.07 110 0
345289 xx부대 살인사건 , tag[소설, 스크롤]3 소설맨(116.33) 13.02.07 66 0
345288 xx부대 살인사건 , tag[소설, 스크롤]2 소설맨(116.33) 13.02.07 97 0
345286 xx부대 살인사건 , tag[소설, 스크롤] [1] 소설맨(116.33) 13.02.07 271 0
345283 cplusplus.com 이거 C++이 만든사이트임? [4] 부스타(14.36) 13.02.07 119 0
345282 [질문] 난수 출력 문제 [7] MUFF갤로그로 이동합니다. 13.02.07 111 0
345280 jsp로 웹프로그래머가 꿈인데 리눅스책을샀다. 이유는? [5] ㅇㅇ(112.153) 13.02.07 189 0
345277 내일 출근 하는사람 잇음? [2] ㅁㅁ(175.223) 13.02.07 76 0
345273 귀신 사진2 에어로홍갤로그로 이동합니다. 13.02.07 65 0
345272 내일 오전근무만 하는 횽들 있음??? [1] 멍청닭(182.211) 13.02.07 58 0
345271 아직도 모집공고의 뜻을 모르는 뉴비들을 위한 가이드라인 [6] 멍청닭(182.211) 13.02.07 276 2
345270 한참mfc를 봤는데 도저히 못찾겠어서.. mfc잘하시는분들 도움의 손길점 고릴리아갤로그로 이동합니다. 13.02.07 60 0
345269 어휴...... 경제가 진짜 개판인가보다 [1] 멍청닭(182.211) 13.02.07 99 0
345268 채용 공고에 석식 지원, 야간교통비 지급 이거 어떻게 생각해야되냐? [6] classical(175.200) 13.02.07 179 0
345266 청마린 소희빠아님? 로레알갤로그로 이동합니다. 13.02.07 37 0
345265 세탁소에 컴퓨터세탁이라고써있는거 물세탁이냐 [5] 로레알갤로그로 이동합니다. 13.02.07 119 0
345264 리닉스 초짜 질문 좀 드립니다ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ [3] ㅇㅇ(121.162) 13.02.07 100 0
345263 C++ STL에 정규식 넣으면 참 좋을텐데.. [2] ㅇㅇ(58.102) 13.02.07 121 0
345261 리버싱이라는것의 정확한 뜻이뭐냐?? [4] 엽산.갤로그로 이동합니다. 13.02.07 159 0
345260 교육원같은데 나오면 취직됨? [1] (168.126) 13.02.07 90 0
345259 역시 프겔은 여자 청정 지역이군 G컵녀 말이 없네? [5] 멍청닭(182.211) 13.02.07 347 0
345258 통신병가면 뭔일하냐?? 컴터관련일하나??? [4] 엽산.갤로그로 이동합니다. 13.02.07 120 0
345257 프로그래밍카페에서 디씨말투로질문햇는데 욕먹엇다; [10] 엽산.갤로그로 이동합니다. 13.02.07 257 0
345256 알고리즘 공부할려고 하는데 이산수학에서 꼭 필요한부분 캐치좀... [5] 이산수학(211.104) 13.02.07 352 0
345255 장의력하믄 백왕이제~~ [2] 코불(211.172) 13.02.07 76 0
345252 야 프로그래밍 공부 넘 열심히 하다 이명현상 걸렸다 ㅡㅜ [2] 상상(175.123) 13.02.07 115 0
345251 야 SA는 어떠냐 ㅇㅇ(58.102) 13.02.07 75 0
345250 실존하는 소스관리 안하는 회사이야기 [5] 123(61.72) 13.02.07 233 0
345249 Direct3D device가 뭐야? ㅁㄴㄻㄹ갤로그로 이동합니다. 13.02.07 165 0
뉴스 손담비♥이규혁, 딩크족 계획했지만 남편의 아기 욕심에 출산 결심...딩크보다 행복한 일상 디시트렌드 07.10
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2