1960 年生まれ,独身フリー・プログラマの生態とは? 日経ソフトウエアの人気連載「フリー・プログラマの華麗な生活」からより抜きの記事をお送りします。2001年上旬の連載開始当初から,現在に至るまでの生活を振り返って,週1回のペースで公開していく予定です。プログラミングに興味がある人もない人も,フリー・プログラマを目指している人もそうでない人も,“華麗”とはほど遠い,フリー・プログラマの生活をちょっと覗いてみませんか。
※ 記事は執筆時の情報に基づいており,現在では異なる場合があります。

 ある日,自宅に戻ってみると,ポストに「視聴率調査のお願い」という封筒が入っていた。視聴率調査のサンプル数というのは,それほど多くはなかったはず,と思ってネットで調べてみると,私が住んでいる関東地区では標本数600とある。選定の基準は定かではないが,関東地区で600世帯の中に選ばれるなんて,なんとラッキーな出来事ではないか。しかし,残念ながら我が家にはテレビがない。ご案内の封筒は,そのままゴミ箱に直行した。

 私はテレビは見ないものの,いわゆるテレビ業界が視聴率というものに敏感であるということは少なからず知っている。それが原因で,最近のテレビ番組が娯楽性の高い方向に走りがちであることもなんとなく想像がつく。もちろん,これが私がテレビを見ない理由だと言いたいわけではない。娯楽番組が嫌いなのではなくて,好きなあまり,限りなくテレビを見つづけてしまうのを避けるために,テレビのない生活を選択したにすぎない。

 視聴率に限らず,何かを定量的に測りたいというのは,人間の欲望の一つなのではないかと思う。例えば,あなたが書いているブログが,どうやらとても人気があるらしいという噂を聞いたとする。するとあなたは,どのぐらいの人がアクセスしているのか知りたくなるに違いない。

 ブログが雑誌で紹介されてアクセスが増えたとしたら,Aの雑誌とBの雑誌で増え方が違うのが気になるだろう。それぞれの雑誌の読者層を調べて,30代前半をターゲットにした雑誌で受けがよさそうだと思えば,その世代を対象にした日記を書くように心がけるのではないだろうか。そして,あなたの友人が,ブログのアクセスが少ないと嘆いていれば,自分のことを誇らしく思うだろうし,逆であればがっかりするだろう。

 人々は,物事を定量化することによって現在の状況を把握したり,物事の改善につなげたり,ある事象の再現を試みたり,といったことを可能にしてきた。それは,人々に達成感を与え,さらなる向上の励みとなる半面,劣等感を植え付けたり,嫉妬の種になったりもしてきた。光には必ず影ができる,のたとえどおりである。

 いまや技術の発達により,ありとあらゆるものが測定可能になってきている。近代以降の文明が,物事を定量化することで成長してきたとすれば,影の部分もそれだけ成長したということに違いない。このことを認識できていれば,影がやがて闇にまで育つのを防ぐことができるのではないかと思うのである。

 ちょっと前置きが長くなってしまった。だいぶ以前の話であるが,ベンチマークに凝ったことがある。といっても,パソコン雑誌に載っているようなパソコン単体のベンチマークではない。ストレージ系のベンチマークである。当時,我が家のマシンに装着するハードディスクはSCSIと決めていた。IDEのハードディスクに比べてコストは高くつくが,SCSIを採用したほうがシステム全体のパフォーマンスが高くなると信じていたのである。

 その理由の一つとして,コントローラの機能の違いがあげられる。IDEインタフェースというのは,見ればわかるように,要するにハードディスク直結である。入出力に関わる処理のほとんどをCPUが処理する。一方,SCSIのアダプタ・カードはかなりインテリジェントにできていて,CPUが意識するのはブロック入出力のレベルである。つまり,SCSIのほうがCPUに対する負担が少ない。

 もう一つはチャネルのスループットの問題である。SCSIは本来複数のデバイスを接続することを前提に設計されており,パケット単位で通信を行うので時分割がしやすい。一方,IDEには本来そういう考え方がない。特に一つのチャネルのマスターとスレーブ両方にデバイスをつないだとき,同時アクセスを行うと著しくパフォーマンスが下がるというわけだ。

 理屈として間違っていないし,実際に体感速度も違っていた。特に負荷が高くなってきた場合,CPUのクロック数の違いよりも,SCSIハードディスクを採用したマシンのほうがスループットを確保しやすいように感じていた。逆に,高価なサーバーのはずなのに,何かレスポンスが悪いと思うとIDEハードディスクだった,ということも経験していた。

 しかし,ここで新たな選択肢が出てきた。一つは,Ultra ATA/133 の登場である。当時自宅にあったSCSIコントローラはUltra160というもので,帯域幅が最高160MB/秒ということである。これに対して,IDEが133MB/秒まで迫ってきたのだ。もう一つはRAIDの存在である。データの保全性を確保するためにRAIDコントローラの導入を決めたのだが,IDEのRAIDコントローラならCPUの負担が少ないはずだから,SCSIと肩を並べるかもしれない,と考えたのである。

 それまでの私は,ベンチマークに熱をあげる人たちのことを冷ややかな目で見ており,雑誌のベンチマーク記事などにもほとんど目を通していなかったのだが,一転,あれこれ調べ始めた。しかし,私が目的とするようなベンチマークは見当たらないし,あったとしても納得がいくような比較をしていない。これは自分でやるしかない,と思ったのである。当時は多少なりとも裕福だったのをよいことに,数々のハードウエアを調達し,あれこれと測定しまくったのである。その結果,いろいろなことがわかった。(次回へ続く)