1

実際、私は特定の質問に対する答えを期待していません。スペクトル全体の使用パターンについて洞察を与える可能性のある研究があるかどうか、私は本当に疑問に思っています.

より正確には、さまざまなプラットフォーム、ワークロード、コンパイラなどでコール スタック プログラムが通常どの程度使用されているかについて、公開されている調査はありますか?

編集:質問が無意味であることを示唆するいくつかのコメントに応えて...

私自身の観察によると、スタック使用率は、平均が数十バイト程度の指数分布に似たものに従うことが示唆されています。さまざまな次元に沿った平均の安定性を示す何らかの兆候を期待していました。つまり、幅広いプログラムでスタック消費を測定した場合、結果をどのようにグループ化しても、それらは同様の pdf を示すでしょうか、または、たとえば、Linux プログラムは Windows プログラムよりも一貫して平均してスタックが大きい/小さいでしょうか。 、または静的に型付けされた言語と動的に型付けされた言語など?

これを、目前の問題の詳細、特にそのプログラムがその職務を効率的に実行するために必要なワーキング セットの影響を受ける合計 RAM 使用量と比較してください。私の仮説は、スタック使用率の分布が幅広い環境で比較的安定しているというものです。そのような仮説または同様の仮説が確認または反証されたことがあるかどうかを知りたいだけです。

(注: 私の観察が正確、包括的、または何らかの形で科学的であると主張するつもりはありません。それが私がここにいて質問をしている理由です。)

4

1 に答える 1

1

あなたの質問をある意味で解釈できます。Java では、デフォルトのネイティブ スタック サイズは 128k で、最小値は 1000 バイトです。デフォルトの Java スタック サイズは 400k で、最小値は 1000 バイトです。もちろん、それぞれ -ss および -oss パラメータを使用してサイズを拡張できます。
より正確には、プラットフォーム全体のスタックで公開されたアンケートの必要性がわかりません。

于 2012-09-29T02:11:58.030 に答える