2007년 8월 21일 화요일

브라우져에서 얼마만큼의 Call Stack을 호출할 수 있을까?

Ajaxian에 재미있는 기사가 올라왔습니다. Call Stack을 얼마만큼 호출할 수 있을까에 대해 Mark Wubben님이 의문을 갖게 되었는데 이를 테스트하기 위해서 재귀적으로 Foo.invoke()를 재귀적으로 호출한 후 setTimeout을 사용하여서 Foo()가 몇 개 생성되었는지를 체크합니다.
<script type="text/javascript">
function Foo() {
Foo.count++; // Foo가 생성될 때 count를 증가시킵니다.
}

Foo.count = 0;
Foo.prototype.invoke = function() {
new Foo().invoke(); // invoke()를 내부에서 다시 호출합니다.
};

setTimeout(function() {
document.body.innerHTML = "Maximum call stack size: " + Foo.count;
}, 1000);

new Foo().invoke();
</script>
결과는 다음과 같답니다. 사파리는 너무 작군요 -_-;;
  • Safari 2.04: 100
  • Firefox 2.0.0.6: 1001
  • Internet Explorer 7: 1789
  • Opera 9.22: 3340
출처: Maximum Call Stack Size in Modern Day Browsers via Ajaxian

댓글 2개:

  1. 블로그 구경잘 하였습니다. 블로그에 필요한 동영상, boom4u.net 도 구경 오세요~~

    답글삭제
  2. @빨강머리앤 - 2007/08/22 09:40
    아.. 네 ..... -_-;;;

    답글삭제