实际上,我不期待对具体问题的答案。我真的很想知道是否有任何研究可以对整个频谱的使用模式有所了解。
更确切地说:是否有任何已发布的调查显示调用堆栈程序通常在不同平台,工作负载,编译器等中使用了多少?
编辑:回应一些意见,表明这个问题毫无意义......
我自己的观察暗示堆栈利用遵循类似指数分布的东西,其平均值为几十个字节。我希望能够在不同的维度上表达平均值的稳定性。也就是说,如果我测量了各种程序的堆栈消耗,那么无论我如何对结果进行分组,它们都会展示类似的pdf,或者说,Linux程序平均会比Windows程序具有更大/更小的堆栈,或静态类型语言与动态类型语言,等等?
将此与RAM总使用量进行对比,后者受到当前问题细节的影响,特别是该程序有效履行职责所需的工作集。我的假设是,堆栈利用率的分布在各种环境中都相对稳定,我只是想知道这个或类似的假设是否曾经被证实或伪造过。
(注意:我不会假装我的观察是准确的,全面的或以任何方式科学的。这就是为什么我在这里,问这个问题。)
答案 0 :(得分:1)
我可以用某种方式解释你的问题。在Java中,默认本机堆栈大小为128k,最小值为1000字节。默认的Java堆栈大小为400k,最小值为1000字节。当然,您可以分别使用-ss和-oss参数扩展尺寸 更确切地说:我不了解您是否需要跨平台的堆栈发布调查。