Javascript Array Memory 유감 -
2008.02.27 15:20 Edit
최근 짠 Javascript 프로그램 중에 Space를 많이 써야하는 녀석이 있었는데,
메모리를 유난히! 많이 잡아먹길래 도대체 얼마나 쓰는 건지 한번 체크를 해보았습니다.
Firefox에서 다음과 같은 프로그램을 돌려보았는데요
- 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쓸 일 있으면 조심조심 써야하겠어요 ㅠ

- Javascript , Array , Memory
ㅎㅎ 무서운 언어지 @_@!
그렇군;
자바스크립트는 역시 [무서운] 언어였어.
그렇게 해도 여전함 ㅎㅎ
미리 var a = new Array(100000);
으로 잡아놔도 메모리 많이 먹더라고 -ㅅ-
뭐야 저렇게 짜면 당연히 메모리 많이 먹는거 아니예요? ;;
var a = [];
alert("here");
for(var i=100000;i>0;i--)
{
a[i]=0;
}
alert("here");
이렇게 해보셈