디시인사이드 갤러리

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

갤러리 본문 영역

Lua VS UnrealScript 성능 비교.

초보리버서(49.1) 2012.12.22 00:30:08
조회 217 추천 0 댓글 2

알려진 바에 의하면, Lua는 C 코드 보다 10배정도 느리다고 한다.
에픽에 따르면 Unreal스크립트는 C++코드에 비해 20배(코딩속도?ㅋㅋ) 정도의 성능을 낼 수 있다고 주장하고 있다.

Lua는 5.0.2 Unreal스크립트는 언리얼 토너먼트 2004 build 3323
그리고 C++테스트는 Microsoft Visual C++ .NET 2003을 사용하였으며
모든 테스트는 P4 2.8GHz 1GB 메모리에서 수행되었다.

이 테스트에 따르면 Lua가 Unreal스크립트에 비해 24% 정도 빨랐다고 하더라
꽤오래전에 수행되어진 테스트인데 Unreal스크립트가 어느정도 발전했을지 궁금해지네

Lua를 Unreal엔진에 올리는게 가능하면 성능테스트하고 결과 알려줄게.

여기에는 배열 접근 테스트만 되어 있는데 아직 테스트 되지 않은 부분도
적당한 코드를 찾으면  해볼게.

Heapsort

Method Calls

Nested Loops

Object Instantiation

String Concatenation

Array Access

The Lua5 benchmark for Array Access in the shootout has a bug (a superfloues "+ 1" in Line 10 ). I've corrected it for the test below.

C++

// -*- mode: c++ -*-
// $Id: ary3.g++,v 1.2 2001/06/20 03:20:02 doug Exp $ // http://www.bagley.org/~doug/shootout/

#include <iostream>
#include <vector>

using namespace std;

int main(int argc, char *argv[]) {
    int i, k, n = ((argc == 2) ? atoi(argv[1]) : 1);
    typedef vector<int> ARY;
    ARY x(n);
    ARY y(n);

    for (i=0; i<n; i++) {
    x[i] = i + 1;
    }
    for (k=0; k<1000; k++) {
    for (int i = n - 1; i >= 0; --i) {
        y[i] += x[i];
    }
    }

    cout << y[0] << " " << y.back() << endl; }
Results:
n = 1000, 0.0306s
n = 3000, 0.03188s
n = 5000, 0.03564s
n = 7000, 0.03876s
Unreal

static final function string ArrayTest( optional int n ) {
        local int i, k;
        local array<int> x;
        local array<int> y;

        if ( n == 0 ) {
                n = 1;
        }

        x.Length = n;
        y.Length = n;

    for ( i = 0; i < n; i++ ) {
            x[i] = i + 1;
    }

    for ( k=0; k<1000; k++ ) {
            for (i = n-1; i >= 0; i--) {
                 y[i] += x[i];
            }
    }

        return ( y[0]$ " " $y[n-1] );
}
Results:
n = 1000, 0.27252s
n = 3000, 0.81316s
n = 5000, <runaway loop error>
n = 7000, <runaway loop="" error>


Unreal스크립트는 루프 수행을 3000회 이상 할 수 없도록 보호 하고 있었다. 그래서 거기까지 테스트할 수 밖에 없었다.

Lua

function array_test( n )

        local x, y = {}, {}

        for i=1,n do
                x[i] = i
                y[i] = 0
        end

        for k=1,1000 do
                for j=n,1,-1 do
                        y[j] = y[j] + x[j]
                end
        end

        return y[1] .. " " .. y[n]
end
Results:
n = 1000, 0.21872s
n = 3000, 0.65432s
n = 5000, 1.09124s
n = 7000, 1.52688s="">

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이번주 설문은 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
341429 현직자 형들 질문 컴퓨터+수학, 컴퓨터+전자 어떤 조합이 좋을까요? [5] 복수전공(59.0) 12.12.24 245 0
341427 인터넷에 돌아다니는 소스들은 가라가 80%인거같아 [2] 펔끄유갤로그로 이동합니다. 12.12.24 192 0
341426 그냥 회의감이 들어서 그런데.. [3] dd(115.23) 12.12.24 168 0
341425 이클립스에서 로그캣 탭 클릭하면 다운 먹는데 ...왜 그런지 아시는분?ㅠ 길가던놈갤로그로 이동합니다. 12.12.24 29 0
341424 FTP PASSIVE 모드 왜발생하는거야? ㅇㅇ(114.71) 12.12.24 23 0
341423 추상클래스질문이요 형들 ㅎㅎ [1] ASDASD(211.178) 12.12.24 68 0
341422 형들 마우스에서 들어오는 정보나 USB포트에서 들어오는 정보 [1] ㅇㅇ(175.212) 12.12.24 55 0
341421 횽들 VS 깔려있는 상태에서도 디버그 런타임이 날아갈 수 있어? 아나(118.217) 12.12.23 25 0
341419 웹 프로젝트 진행중인데... [3] 하앍뿌갤로그로 이동합니다. 12.12.23 177 0
341418 게임메이커 : 스튜디오가 세일중입니다! [1] wnsrn3436(211.200) 12.12.23 390 0
341417 자바에서 서버 응답이 올때까지 코드를 실행하지 않으려면 어떻게 해야 함? [28] ㄹㅇㄴㅁ(115.20) 12.12.23 330 0
341416 여기 라즈베리 파이 쓰는 횽 있음? ㅠㅠ ㅇㅇㅇ(121.144) 12.12.23 97 0
341415 자바,jsp,js 물어보삼. (초보임). 그래도물어봐 아는거알려줄께 [5] 초보자바(61.102) 12.12.23 197 0
341414 GTA4 1.0.7.0 멀티하자 ㅇㅁㄴㅇㄴ(124.216) 12.12.23 63 0
341413 나랑 똑같이 생기고 목소리 같은 사람을 쥬카카부라 라고 하던가? [7] Kyle(220.244) 12.12.23 231 0
341409 마인크래프트 ceo 이야기를 담은 다큐맨터리 [4] 고랭?갤로그로 이동합니다. 12.12.23 292 1
341408 떡볶이먹고싶다 정수정•‿•갤로그로 이동합니다. 12.12.23 61 1
341406 크리스마스때 뭐할예정이냐 [6] ㅁㅁ(114.204) 12.12.23 197 0
341405 도움! 힝아(115.161) 12.12.23 51 0
341403 fatal error LNK1104: 'msvcprtd.lib' [1] aaaa(14.53) 12.12.23 105 0
341400 루트 트레이스에서 ISP의 내부장비가 찍힘? dot(124.197) 12.12.23 71 0
341399 우리 5년더 하게됬다고 ! [2] ㅁㅁ(114.204) 12.12.23 304 0
341398 컴공전공자들이 글케 대우가 똥망이라던데 [3] ㅣㄱ(1.241) 12.12.23 348 0
341397 C++ 도움! [16] 시플투(14.53) 12.12.23 267 0
341396 춥다 이모군(58.228) 12.12.23 38 0
341394 배열이름의 정체성이 멉니까? 주소값입니까? 변수입니까? [7] 주소값(175.123) 12.12.23 199 0
341392 아래글 이어 사진까지 첨부 (관련내용 답) [7] 주소값(175.123) 12.12.23 229 0
341390 int a[10]; sizeof(a)에서 a도 주소값인데.. 왜 40 [8] 주소값(175.123) 12.12.23 197 0
341389 SSD 를 묶어도 성능이 안 나오는 경우가 있다니! 때릴꺼야?(116.40) 12.12.23 93 0
341388 언어선택 제한두는 회사 vs 자유선택 회사 [1] 육군야전출신(58.232) 12.12.23 133 0
341387 악성코딩 군대 안가냐?? [1] 고랭?갤로그로 이동합니다. 12.12.23 121 0
341386 char a; printf("%d", sizeof(&a)); 는? [14] 주소값(175.123) 12.12.23 329 0
341385 회사에서 3개월동안 프로그래밍 교육시켜주고 테스트통과시 입사 이런거 어떰 [4] 취업준비(175.118) 12.12.23 204 0
341383 ms차트 사용하는데 x축 값 표시가 이상해요... [3] ㅠㅠ(118.216) 12.12.23 94 0
341381 아 컴파일러 문제인가 ㅡㅡ [4] 도레기(221.138) 12.12.23 402 0
341380 횽들 네트워크 쪽은 비전 어떰?? [2] ㄴㅇㄹ(119.149) 12.12.23 157 0
341378 error C2332: 'enum' : 태그 이름이 없습니다. 이 에러 [3] 도레기(221.138) 12.12.22 441 0
341377 닷넷 개발쪽 질문 좀. [2] 힝아(115.161) 12.12.22 142 0
341375 공부 안하는 새끼 인증글 길가던놈갤로그로 이동합니다. 12.12.22 160 0
341374 형들 이거 에러 왜이러는거져.. 도레기(221.138) 12.12.22 54 0
341368 정보 올림피아드 나가본 형들질문좀 할게 [1] asda(114.108) 12.12.22 102 0
341367 일단 여기서 필요한거 있는 분 말하셈 [5] 길가던놈갤로그로 이동합니다. 12.12.22 189 0
341366 꾸준히 하는 사람이 이긴다??? [16] ㅇㅇ(203.90) 12.12.22 327 0
341365 횽들 avl트리에서 삭제 어떻게 만들어? ㅇㅇ(115.21) 12.12.22 49 0
341363 형들 내꿈이 카이스트 컴퓨터관련과가서 대학원나와서 [3] 카이스트(211.112) 12.12.22 296 0
341362 크킄 벌레 요즘도 있냥께? 홈■키■파갤로그로 이동합니다. 12.12.22 79 0
341361 집 이사가서 책 좀 버려야 되는데 전공서적 처리하기 막막하네 [6] ㅁㄴㅇㄹ(14.34) 12.12.22 183 0
341359 티비수신카드 usb랑 pci랑 차이가 뭐임? [4] ㅋㄱ(183.96) 12.12.22 128 0
341358 Unreal에 Lua 엔진 붙이기는 좀 힘들거 같다. 초보리버서(49.1) 12.12.22 134 0
341357 배열주소는 왜 변수주소 표현인 &를 생략할까 [2] 다른시각갤로그로 이동합니다. 12.12.22 124 0
뉴스 ‘런닝맨’ 15주년 시청률 1위…유재석 “‘무한도전’보다 길게 했다” 디시트렌드 18:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2