Kduks
홈
태그
미디어로그
위치로그
방명록
My Study/Flex
Flex & AIR , Array vs Vector
Kduks
2009. 4. 22. 15:23
반응형
Array와 Vector의 속도 테스트를 해보았습니다.
Vector가 빠르긴한데,,, 요넘 메모리 왜케 먹는거지 ㅡ..ㅡ
Vector는 3.3 SDK
AIR 런타임 1.5
Flash 런타임 10
레퍼런스에 있습니다.
관련 레퍼런스는
"이곳"
에서 참고하시면 됩니다.
소스는
package kduk.ass { import __AS3__.vec.Vector; import flash.display.Sprite; public class VectorPerformance extends Sprite { private static const LENGTH:int = 5000000; public function VectorPerformance() { //vector performance var vectorStartTime:Number = getTime(); var v:Vector.<Number> = generateVector(); var vAvg:Number = averageVector(v); var vectorTime:Number = (getTime() - vectorStartTime) / 1000; //array performance var arrayStartTime:Number = getTime(); var a:Array = generateArray(); var aAvg:Number = averageArray(a); var arrayTime:Number = (getTime() - arrayStartTime) / 1000; } private function generateVector():Vector.<Number> { var v:Vector.<Number> = new Vector.<Number>(LENGTH, true); for(var i:int = 0; i < LENGTH; i++) { v[i] = Math.random() * 100000; } return v; } private function averageVector(v:Vector.<Number>):Number { var sum:Number = 0; var len:int = v.length; for(var i:int = 0; i < LENGTH; i++) { sum += v[i]; } return (sum / len); } private function generateArray():Array { var a:Array = new Array(LENGTH); for(var i:int = 0; i < LENGTH; i++) { a[i] = Math.random() * 100000; } return a; } private function averageArray(arr:Array):Number { var sum:Number = 0; var len:int = arr.length; for(var i:int = 0; i < LENGTH; i++) { sum += arr[i]; } return (sum / len); } private function getTime():Number { return (new Date()).getTime(); } } }
요렇게 작성되었구요,,
실행시 아래,,
돌아가고 시스템 토탈메모리와 속도, 속도차이 퍼센트지를 찍어봤습니다.
속도는 컴퓨터마다 다르겠지만 약 40~50%가량 빠르게 나오네요,
토탈 메모리 암울...
찾다가 할게 많아서 일단 접어두고 ,,ㅎㅎ
어떤 문제로 그런지 아시는분 트랙백좀 부탁드립니다.
P.s 우연찮게 이쪽보다가 발견한 AS3.0 퍼포먼스 테스트 모아논 사이트입니다.
깔끔히 정리해서 벤치해놓아서 보기가 좋네요..
한번 놀러가보세용 ㅎㅎ
http://businessintelligence.me/projects/performance_tester/performanceTester.html
이곳입니다.
그럼 오늘도 즐거운하루 되세요!
반응형
공유하기
URL 복사
카카오톡 공유
페이스북 공유
엑스 공유
게시글 관리
구독하기
Kduks
저작자표시
비영리
변경금지
티스토리툴바
Kduks
구독하기
닫기
단축키
내 블로그
내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W
블로그 게시글
글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C
모든 영역
이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift
+
/
⇧
+
/
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.