2014-06-11

興味深い記事

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

2 comments:

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.