ccache

今日の pf 部でビルド時間短縮云々なセッションがあった模様。ccache ですか。ちょっと試してみたいなと思ってますが、先だつソレを工面する必要ありだな。
とりあえずおおいしさんが tsuda ってくれた系のソレ達を以下に控え。つうかこれ、経費てきにいくら位なのか、がとても気になりますね。

「そこで最終奥義でクラスタコンピュートエイトエクストララージ2インスタンスを試しました。クラスタ専用の巨大インスタンスです。Xeon E5相当(8コア)x2です。make -j32で21m41.695sです。勝ったけど思いのほか差が出ませんでした。」 #yapf

http://twitter.com/roishi2j2/status/269682673012842497

RAM ディスクを使う方式で速度をかせぐとのこと。

「これでは僕のプライドが許せませんw どうしても圧勝したいw 蹂躙したいw ここで、メモリが余っているので最終奥義の『RAMディスク』を思い付きました。20GBくらいのRAMディスクを作りビルドのワークと出力をRAMディスクに。」 #yapf

http://twitter.com/roishi2j2/status/269683112580096000

16 分まで短縮とのこと。

#yapf 「RAMは60GB使えるので、そのなかから20GBをRAMディスクにした。これでビルド時間は16分に。」

http://twitter.com/tetsu_koba/status/269683406034587648

やはり費用が気になりますよね。

「結果は16m6.900s。圧勝! さてご利用料金ですが、安いです。1インスタンス1時間0.25$。EBS(ストレージ)が50GBで月500円くらい。I/Oリクエストは1回のビルドで0.1$くらい。フルビルドだけデカいインスタンス使うなら月2千円もしないです」 #yapf

http://twitter.com/roishi2j2/status/269683473038581760

カーネルビルド単発でここまでやる馬鹿はいないのだろうな。

クラスタインスタンスをスポットで使って0.25$x20時間=5ドル。EBS50GB=5$/月。I/Oは5$。合計42.85$=3428円くらいです。PC買うより安くて性能は圧到的に上です」 #yapf

http://twitter.com/roishi2j2/status/269684456649019393

課金体系に関する注意も流れていました。

AWSのリザーブドインスタンスって、リザーブするための料金が例えばミディアムの場合$138/y、それに加えて時間利用額が通常より割り引かれてかかってくるというスタイルなので 想像ほどは安くないっす。要注意 #yapf

http://twitter.com/muo_jp/status/269684743023501312

スポットで借りなさい、と。

クラスタ向けインスタンスはスポットで借りるのがいいと思います。ちなみにAzurとかだとこんなデカいイメージが無いし値段も高いです。10倍くらいになるんじゃないでしょうか。個人的にAWSめちゃおすすめです。」 #yapf

http://twitter.com/roishi2j2/status/269685171882692608

メモリも重要。

「CPUのコア数とmake -jオプションの関係を @kinneko 先生に調べていただきました。要約すると物理コアx2くらいのジョブ数が最速でそれ以上はメモリ食うだけになります。」ひそかにメモリ重要です。ジョブ数x1GBくらいないとスワップします」 #yapf

http://twitter.com/roishi2j2/status/269685557335031808

しまいにはミラーを速くする方法て。

Androidのソースを速くミラーする方法です。repo initのとき--mirrorオプションを付けてrepo syncするとミラーができます。自分がミラーしたいバージョンのmanifest.xmlを入手してURLを書き換えるとローカルサーバに繋げられます」 #yapf

http://twitter.com/roishi2j2/status/269686038698524672

うーん、試験してみたいけれど、Android じゃなくてカーネル程度であればそこまでゼニはかけたくないかも。
あと、ccache はでびあんパケジになってるみたいですね。

実際

単純に

export set CC='ccache gcc'

して make すりゃ良いのか。逆に t.micro でどこまで頑張れるかヤッてみるのは面白いかも (ぇ