Skip to content

Instantly share code, notes, and snippets.

@piaoger
Created March 21, 2014 02:32
Show Gist options
  • Save piaoger/9678322 to your computer and use it in GitHub Desktop.
Save piaoger/9678322 to your computer and use it in GitHub Desktop.
Get max call stack size in browser
<!-- A script to get max call stack size in browser
In my Macbook pro
Firefox 28:
maxStackSize = 350801 (dynamic, but always above 300000)
error: InternalError: too much recursion
Safari 7.0.2
maxStackSize = 58034
error: RangeError: Maximum call stack size exceeded.
Chrome 33:
maxStackSize = 25237
error: RangeError: Maximum call stack size exceeded
Node.js v0.10.15 (script only)
maxStackSize = 24270
error: RangeError: Maximum call stack size exceeded
var i = 0;
function recurse () {
i++;
recurse();
}
try {
recurse();
} catch (ex) {
console.log('maxStackSize = ' + i + '\nerror: ' + ex);
}
In node.js, you can also reset max size with option: --max-stack-size
For more details, see node.cc in node.js source code.
Solutions:
http://raganwald.com/2013/03/28/trampolines-in-javascript.html
http://raganwald.com/2013/03/29/high-level-trampolining.html
-->
<head>
<title>Max Call Stack Size</title>
</head>
<body>
<script>
var i = 0;
function recurse () {
i++;
recurse();
}
try {
recurse();
} catch (ex) {
alert('maxStackSize = ' + i + '\nerror: ' + ex);
}
</script>
</script>
</body>
</html>
@jgphilpott
Copy link

jgphilpott commented May 8, 2022

In my 2020 MacBook Pro:

Firefox 100:
    maxStackSize = 26380
    error: InternalError: too much recursion

Chrome 101:
    maxStackSize = 10988
    error: RangeError: Maximum call stack size exceeded

Safari 15:
    maxStackSize = 45611
    error: RangeError: Maximum call stack size exceeded

... looks like max stack size is down across the board, but mostly in Firefox!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment