アカウント名:
パスワード:
ビルドプロセスのボトルネックはプロセッサかメモリかストレージか
私の場合はストレージでした
一般論として,LinuxのカーネルソースはC言語でシンプルに書かれているので,コンパイラはメモリをあまり必要としません.またコードの大半は,デバイスドライバ(Linux用語でいうモジュール)なのでソースコード間の依存関係が少ないです.そのためコア数が多いCPUでは,容易に並列ビルドできます.
しかしカーネルコードは比較的小さいファイルが多いため,ビルドすると小さい中間ファイルがたくさんできます結果,I/O,ファイルシステムやその背後にあるストレージがボトルネックになります.
私の環境(intelで16コア.メモリは32GB)でも,perf コマンド
tmpfs 上でコンパイル && gcc に -pipe オプションてのは効きませんか?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
ボトルネックは? (スコア:0)
ビルドプロセスのボトルネックはプロセッサかメモリかストレージか
Re: (スコア:5, 参考になる)
私の場合はストレージでした
一般論として,LinuxのカーネルソースはC言語でシンプルに書かれているので,コンパイラはメモリをあまり必要としません.
またコードの大半は,デバイスドライバ(Linux用語でいうモジュール)なのでソースコード間の依存関係が少ないです.
そのためコア数が多いCPUでは,容易に並列ビルドできます.
しかしカーネルコードは比較的小さいファイルが多いため,ビルドすると小さい中間ファイルがたくさんできます
結果,I/O,ファイルシステムやその背後にあるストレージがボトルネックになります.
私の環境(intelで16コア.メモリは32GB)でも,perf コマンド
Re:ボトルネックは? (スコア:1)
tmpfs 上でコンパイル && gcc に -pipe オプションてのは効きませんか?