Javascript Array Memory 유감 -

최근 짠 Javascript 프로그램 중에 Space를 많이 써야하는 녀석이 있었는데,

메모리를 유난히! 많이 잡아먹길래 도대체 얼마나 쓰는 건지 한번 체크를 해보았습니다.

 

Firefox에서 다음과 같은 프로그램을 돌려보았는데요

  1. var a = [];
    alert("here");
    for(var i=0;i<100000;i++)
    {
        a[i]=0;
    }   
    alert("here");

저기 100000을 변화시키면서 앞에 alert에서 firefox가 차지하는 메모리에서 뒤의 alert에서 firefox가 차지하고 있는 메모리의 변화량을 보니 이거이거 orz입니다.;

 

ArraySize : Memory추이가 다음과 같습니다.

100K 5880KB

1000K 41344KB

2000K 81180KB

4000K 160088KB

다행히 대략 리니어하게 증가는 하는데... 워낙에 한칸이 차지하는 크기가 크네요

대충 봐도 한칸에 40B정도는 차지하는 모양입니다.

2000*2000Array하나면 160M의 메모리를 차지하네요

Array쓸 일 있으면 조심조심 써야하겠어요 ㅠ

 

 

TAG
서비스 선택
댓글
로그인해주세요.
profile image
powered by SocialXE
Total : 5
  • profile image

    ㅎㅎ 무서운 언어지 @_@!

    2008.03.04 14:07:20
  • profile image

    그렇군;

    자바스크립트는 역시 [무서운] 언어였어.

    2008.03.02 22:09:05
  • profile image

    그렇게 해도 여전함 ㅎㅎ

    2008.02.29 10:19:20
  • profile image

    미리 var a = new Array(100000);

    으로 잡아놔도 메모리 많이 먹더라고 -ㅅ-

    2008.02.29 01:01:09
  • profile image

     뭐야 저렇게 짜면 당연히 메모리 많이 먹는거 아니예요? ;;

    var a = [];
    alert("here");
    for(var i=100000;i>0;i--)
    {
        a[i]=0;
    }   
    alert("here");

     

    이렇게 해보셈 

    2008.02.28 20:47:57