Chrome Web Worker栈大小不受--js-flags的--stack-size参数影响的原因咨询
Chrome Web Worker栈大小不受--js-flags的--stack-size参数影响的原因咨询
我最近在Linux(x86_64)环境下的Google Chrome中,尝试用以下代码估算Web Worker内部的栈大小:
var i = 0; function recurse () { i++; recurse(); } try { recurse(); } catch (ex) { alert('maxStackSize = ' + i + '\nerror: ' + ex); }
不过我发现一个奇怪的问题:不管我给--stack-size参数设置什么值,Web Worker的栈深度结果始终不变——关闭开发者工具时是6969,打开开发者工具时是6968。
每次测试前我都会关闭所有Chrome实例,然后从终端用以下命令启动Chrome:
/opt/google/chrome/chrome --incognito/opt/google/chrome/chrome --incognito --js-flags="--stack-size 2048"/opt/google/chrome/chrome --incognito --js-flags="--stack-size 128"
我特意测试过输入错误的参数值,Chrome会给出提示,说明--js-flags确实被解析了,但它对Web Worker的栈深度完全没有效果。这是为什么呢?
更新
后来我发现,设置--js-flags="--stack-size XYZ"确实会影响主线程的栈大小,但Web Worker的栈大小似乎被固定在约495kb左右,不受这个参数控制。
备注:内容来源于stack exchange,提问作者mallwright
相关产品推荐
相关产品推荐

