2012-03-30

GNU/Linuxのパフォーマンスはすばらしい

GNU/Linuxのパフォーマンスは素晴らしい。不自由なWindowsをブッちぎりで超越している。

もちろん、これは技術的に公平な比較ではない。まず、HDDが違う。不自由なWindowsで使っていたのは、かれこれ5年間も使っているSumsungの500GBのHDD、HD501LJであり、いまGNU/Linuxに使っているのは、新品のSeagateの3TBのHDD、ST3000DM001である。ただし、不自由なWindowsはBIOS上でのGPTを使ったHDDからのブートをサポートしていないので、このHDDからはブートすらできない。それから、アーキテクチャも違う。以前使っていたWindowsは32bit版だが、今のGNU/Linuxは64bitである。もっとも、これは当時のアカデミック版不自由Windowsが、なぜか32bit版しか提供されていなかったためである。それでも確か、1500円ぐらいした。一方、私の今使っている自由なGNU/Linuxを土台としたUbuntuは無料で、しかも64bitである。つまり、不自由なWindowsはインストールする時点で同じ土俵に立つことができないのである。だから、現実的には公平な比較である。そもそも、不自由なWindowsでは実現不可能な環境なのだ。

HDDの違いから、技術的に公平な比較は難しいが、GNU/Linuxで動かすプログラムのパフォーマンスは素晴らしい。不自由なWindowsの同じプログラムより高速に動作する。たとえば、FirefoxやChromiumの動作が非常に軽快だ。また非常の驚いたことに、SubversionやGitのパフォーマンスが素晴らしい。不自由なWindowsを使っていた頃には、私はプログラマーを自称しながら、バージョン管理システムに馴染めないでいた。理由は、パフォーマンスが非常に悪かったからである。しかし、GNU/Linux環境でのSubversionやGitのパフォーマンスを体験すると、これなら使ってもいいと、ようやく思うことができた。また、ターミナルが優れていて、CLIの使用が苦にならないのも利点である。

おどろいたことに、Chromiumが軽快に動作するのみならず、WebGLを利用したGoogle Mapsのパフォーマンスも、GNU/Linuxの方がはるかに上だ。もちろん、これにはnVidiaの不自由なバイナリブロブも関わっているが、グラフィックドライバーに関しては、Windowsも同じなので、公平である。

さて、このように快適なLinuxカーネルについて、少し学びたい。もちろん、Linuxカーネルのソースコードは真に自由なライセンスで公開されているので、いつでも読むことができる。しかし、いきなりLinuxカーネルのソースコードを読むのは敷居が高い。まず準備のために、Linuxカーネルの概要を解説した簡単な本が読みたい。不自由なWindows NTカーネルの詳細を噛み砕いて簡単に解説したWindows Internalsのような本のLinux版が欲しい。

色々と調べてみたところ、O'Reillyから出版されている、 Daniel P. BovetとMarco Cesatiの共著、Understanding The Linux Kernel が良さそうだ。日本語の翻訳では、詳解 Linuxカーネル 第3版がある。しかし、私は日本語訳というものを一切信用していないので、読むとしたら原著に限る。金が入ったら購入しようと思う。

Web上にも、いくつか興味深い書き物がある。たとえば、The Linux KernelとかLinux Kernel Newbiesなどは参考になりそうだ。

3 comments:

Anonymous said...

http://msdn.microsoft.com/ja-jp/windows/hardware/gg463524

Anonymous said...

http://www.tomshardware.co.uk/chrome-17-firefox-10-ubuntu,review-32382-13.html

江添亮 said...

ひとつめ
よく読むこと。WindowsはGPTからのブートはUEFIからしかサポートしていない。


ふたつめ。
私はGoogleによるChromiumのビルドであるChromeではなく、UbuntuによってパッケージされたChromiumを使っています。WebGLはもちろん有効になっています。