興味深い記事
systemcall dot org » Trashing Chromebooks
ARM環境における自由ソフトウェアの開発組織であるLinaroでは、LinuxカーネルやGCCやLLVMやbinutilsなどの様々なツールチェインを、ARM環境でビルドしてテストしている。
問題は、そのビルドとテストを実機で行うARM環境に、あまりいい候補がないということだ。
テストは高速で行われて欲しい。また、テストは常に行われるので、テスト環境は常に酷使される。
問題は、ARMでは、そのようなテストに適したコンピューターが存在しないということだ。
いくつかの開発ボードを試してみたものの、性能が悪すぎたり、不安定すぎたりしたそうだ。
不安定というのは、連続稼働していると、ビルドが何の理由もなく失敗するそうだ。失敗した原因のファイルもまちまちで、明らかにハードウェアの問題であるという。
結局Linaroのテスト環境は何になったかというと、なんと、Samsung Chromebookだという。Chromebookは、自動化されたテスト環境としてのbuildbotとしては甚だ不適当である。たとえば、電源を手動で入れなければならないなどの不都合がある。それを考慮しても、不安定すぎる開発ボードよりマシなのだという。
参照元では、この手の開発ボードは、コンピューター全体のテストを十分に行っていないのではないかと推測している。Chromebookは製品であり、野に解き放たれて、過酷な環境で使われる。そのため、コンピューター全体を長期間酷使するテストもする。一方、開発ボードは、それほど本格的なテストをしていないのではないかとしている。
参照元が推測している、不安定の理由としては、熱だ。なるほど、ARMのプロセッサーは、保証されている動作温度の範囲内ではあるが、基板のその他の部品が怪しいとしている。特に怪しいのはSDカードリーダーだそうだ。温度が上がると不安定になる。開発ボードにはUSBポートもついているが、ブートはSDカードからしか出来ず、使わざるを得ないのだそうだ。
参照元では、Chromebookをbuildbotにする手順を説明している。
開発モードを有効にしてGNU/Linuxをインストールし、ハードウェアも分解してバッテリーを取り外したChromebookは、極めて安定して動作するそうである。唯一の欠点は、一部完全なリモートでの作業が出来ないことだという。
The Great C Runtime (CRT) Refactoring - Visual C++ Team Blog - Site Home - MSDN Blogs
MicrosoftのCRTが如何にクソであるかという告白記事。
従来、MSVCのバージョンごとに別のCRTライブラリを出してきたが、これは極めて利用者にとっても開発者にとっても面倒なので、今後はMSVCのバージョンごとにライブラリまで分断するようなことをやめて、互換性を保ちつつ更新していくという。
また、MSVCのCRTは1980年代から続く汚いコードで、当時としては理由があったが、今となってはむしろコンパイラーによる最適化の妨げとなる汚いハックが満載で、#ifdefだらけであり、悲惨なことになっているので、大掛かりなリファクタリングを行ったとのこと。
特に、中身をC++で書きなおして、まともなコードにしたそうだ。
まあ、MSVCは遠からず滅びるコンパイラーであるのだが。
[Phoronix] Rich Geldreich Leaves Valves; Points To More "End Of OpenGL" Articles
本の虫: OpenGLでムカつくこと、本の虫: OpenGLドライバー品質の実情で翻訳もした、OpenGLに吠えていたRich Geldreichが、Valveをやめたそうだ。Geldreichは、ValveでvoglというOpenGLのデバッグ用のツールを開発していた。
Red Hat | Red Hat Unveils Red Hat Enterprise Linux 7, Redefining the Enterprise Operating System
RHEL 7が正式にリリースされたようだ。興味深いことに、デフォルトのファイルシステムがEXT4ではなくXFSになっている。
ドワンゴ広告
この記事は、N3980を読むのに疲れたので、気晴らしにドワンゴ勤務中に書いた。
ところで、最近のドワンゴ社内では、God's Gambitというゲームが流行っている。これはUNOに似たゲームではあるが、カードを出す代わりに、自分の場に出して、特殊効果を使うこともできるゲームだ。ただし、自分の場に出すとカルマがたまるので、どんどん罪深くなっていく。このゲームはとても面白いので、一般の店頭に並んだら是非とも買いたい。
それはさておき、筆者がよくたずねられる質問に、「C++はドワンゴ社内でどこに使われているのか」というものがある。これについて調べたところ、コメントサーバー、動画、生放送の配信システム、検索エンジン、レコメンドエンジン、等に使われているそうだ。
そういえば、筆者の周りには、ErlangやH.264/HEVC関連の参考書が目立つ。
ドワンゴは本物のC++プログラマーを募集しています。
CC BY-ND 4.0: Creative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0