Chienomi

コンピュータにおいて「道具にこだわる」ことの価値

基礎/リテラシー::hardware

弘法の筆の話をきっかけに、エンジニアが道具にこだわる云々の話が盛り上がっているようだ。

そもそも、「弘法筆を択ばず」とは決して「弘法大師ともなれば筆を選んだりしない」という意味ではなく、「弘法大師のような達人であれば劣悪な筆であっても秀逸な作を生み出す」という意味である。 実際には弘法大師は筆に非常に強いこだわりを持っていたと聞くし、この諺を道具へのこだわりを否定するものだと考えるのは言葉に対する知識が足りない。

ここではエンジニアとは関係なく、コンピュータにおいて道具にこだわることの価値がどれだけのものか、述べてみようと思う。

なお、本記事はかなり様々なことに言及する必要があったことから、すべて順序立てて説明するにはブログの記述量では到底足りず、それを詰め込んだために非常に読みづらい記事となっている。 ご容赦願いたい。

基本知識

性能面で言うと、基本的な考え方としては、以下のようなものだ。

まず、その人の使い方によって「普通に使って」必要になるリソースというものが存在する。 これに対してリソースが足りない場合、動かないか、時間がかかるか、ストレスを感じることになる。 一方、リソースが余る場合は「使いこなせていない」ことになる。

足りないリソースをやりくりするのも、有り余るリソースを使いこなすのもそれぞれ別の技術が必要であるし、その条件下ではリソースについて意識して使わねばならない。必要になる技術はそれぞれ別のものだが、前提としてリソースに対する認識が必要であるという点では、基礎的な知識は共通しているとも言える。

「不足」というのは、待ち時間が発生するものに関しては瞬間的な話であり、またなくても良いものであれば時間量的な話である。 時間量についてざっと説明すると、仮にコンピュータAが処理に10分、コンピュータBが30分かかる処理があるとする。この場合、コンピュータAのほうが速く片付くのは誰からしても明らかだが、1日で処理する計算量が24時間に満たないのであれば(あるいは、1日のコンピュータ稼働時間よりも短いのであれば)、30分かかろうとも問題はない。

これは簡単にいえば、対話的処理は瞬発的に速いことに意味があり、非対話的な処理は時間量的に間に合うことに意味があるというのが基本だ。 ただし、非対話的な処理も現実時間に縛られることがあるため、そこに間に合うかどうかが重要であったりする(まぁ、それは単純に計算時間が与えられた時間を下回るかどうかだから時間量の問題にかわりないが)し、非対話的処理の間に対話的な処理が入るために結局は待ってしまうこともある。

一方、HIDに関してはより「人間的な」都合に左右される。 それぞれ別の側面を持ってひとつの現実に作用するので、それをきちんと認識できる必要がある。

また、ボトルネックに関してもよく誤解があるので追加で解説しておこう。 本来、ボトルネックというのは「他を改善してもそれを理由に全体としての改善が見込めないもの」を指すが、最近は際立って遅い箇所をボトルネックと呼ぶ人が多い。

本当にボトルネックであるならば、それ以外を改善する意味は全くない。 ボトルネックである例というと、インターネット接続が1Mbpsの状態で、ルーターからゲートウェイ間の速度が1Mbpsだとする。この場合、ゲートウェイから先が1Mbpsになっても、あるいはLAN部分を1Mbpsからどれだけ高速化したとしても、インターネット接続の速度という意味では改善しない。

一方、よくボトルネックと呼ばれるものがIO速度であるが、全体における部分としてのIO速度は通常ボトルネックにはならない。 例えば超低速なディスク(例えばフロッピーディスク)があるとして、どれほど高速なコンピュータを用意してもディスクのせいで速くなりようがない状態にはなる。 だが、現実には単にディスクアクセスで完結しているわけではなく、そのデータの計算という処理がある。そのため、コンピュータが高速化すればその部分は短縮されることになる。 もちろん、その比が1:100000だったりすると、1の部分を1%高速化したとしても体感としてはほとんど変わらない。だが、全く変わっていないわけではない。あくまで「低速な箇所を解消するほうがより効果的」という話に過ぎない。

このような話で実際によくあることとして、スマートフォンでのウェブブラウジングがある。 ほとんどの場合、回線速度による影響のほうがずっと大きく、ウェブブラウジングにおける端末の性能というのは見落とされやすい。 だが、ウェブブラウザはかなり処理的に重く、処理時間もかかっているため、端末が高速ならば待ち時間は短縮される。もちろん、端末の性能、回線速度、サイトの構造などにより非常に大きく変動するが、だいたい1:15くらいなので、端末が速くなれば体感できるくらいには速くなる。

計算速度に関する話

計算速度は非常に複雑に決まる。

CPUの処理速度や処理効率はもちろん、キャッシュ量(CPUのキャッシュは現状余ることはありえない量なので、量の話である)、帯域と通信速度(これはネットワークの通信だけの話ではない)、IO速度、メモリ速度など極めて多岐にわたって影響を及ぼす。

かつ、計算速度は待ち時間に直結し、対話的処理においては非常に短い(10ms未満の)待ち時間を体感できるため、基本的には速ければ速いだけ良いと言える。

この基準において「十分」という言い方は非常に難しい。 基本的には本人が認識するかどうかはさておき、速ければ快適性は上がるのだ。現状、PCの実用上の応答速度が知覚不可能なほどには速くないため、速ければ快適性は上がる。

しかし、だからこそ「犠牲を払ってでも速くする価値がある」と考えられ、現状において速さを求める方法は非現実的なほどの犠牲を払う必要があるところまで行ってしまう。なかなか液浸冷却上等という人もいないだろう。

だから、様々な兼ね合いから決定せざるをえない。 基本的には「それ以外の」事情から選ぶことになるのだが、その妥協は「最低限欲しい計算力」を下回らないように行うことになるだろう。 単純に計算力が高ければ良しというのはあまりこだわっているとは言い難く、選びやすい中で計算力が高いものを選ぶだけ(例えば、計算力にこだわったとしつつ3990Xでなく3950Xを選んでいるとか)というのはよりこだわりとしては弱い。 ギリギリまで必要な計算力を確保しつつ他の要素とバランスを取る、というのが「こだわった道具選び」ということになるだろう。もちろん、明らかに計算力が不足しており、「他の要素」の方に妥協して極力計算力を確保するバランスにする、というのも同様だ。

コンピュータへのこだわりというと計算速度・計算力というのが第一に浮かぶ人も多いだろうが、実際はこだわる場合の計算力は他の要素から最終的な妥協点を決める上で必要なところを選択する、という「後から必然的に決まる」要素である。計算力が非常に必要で、必須な計算力を満たすためにこのプロセッサが必要、というような話になるケースもあるが、単に「良いプロセッサが必要」程度の話であればとてもこだわりとはいえず、計算力にこだわるのであればだからこそ他の要素との兼ね合いで実際に必要な計算と、その計算を時間内に行うために必要な計算力を導出する必要があり、結局プロセッサを決定するまでに他の要素が決まってしまう。 プロセッサを先に決定できる場合というのは、計算力による必然性という話ではなく、プロセッサに求める要素が他にある場合、つまり「他の事情によって否応なく適したプロセッサを確定できる」場合である。

一方、部品ではなく要件という意味でいうならば計算力が第一に決まる、というケースはある。 計算する対象が決まっている場合はそうならざるをえないだろう。この場合、一般的な対話的利用というのは考慮しない(対話的利用をするかもしれないが、それは要件ではなく副次的に可能なだけである)。 これをこだわりといっていいのかどうかは少し疑問がある。そもそも「目的を達成する手段足り得るか」という話になってしまい、それを満たさないコンピュータは目的を達成できない以上価値はない、ということになるからだ。

「目的のための必要最低限を満たすように選択する」というのは果たして「こだわり」なのだろうか。 目的を理解せず適切に選択しない、というのはこだわっていないというよりも「単に買っただけで、何を買うのかすらわかっていない」といったほうが良いのではないか。 明確に目的があり、求める成果があった上で、その成果が出せない計算力のコンピュータを選択するのも同様だろう。

計算力を必須事項とするのであれば、それを満たすか否かというのは「道具として成立するかどうか」のレベルにあり、それを選択することに「こだわることに意味があるのか」と表現されて問われれば、(それはこだわりというものではないという否定を行わないとするならば)回答としては「そこにこだわらない人にはコンピュータは必要ない」としか言いようがない。

空腹で食事をするときに食品サンプルを用意して「本物の食品にこだわる必要があるのか」と言う人に対してまともな回答のしようがないのと同じことだ。機能を全うしなくて良いという考えはこだわるこだわらない以前の話になる。

空間量に関する話

ディスクやメモリの量など、空間量は「不足しなければ問題は生じない」という特徴を持つ。 一方、不足時の影響は大きいため、強いこだわりがなくても不足しないことへの要求は強い。

空間量は様々な方法で代替可能であり、特に技術力に左右されやすい部分である。 足りないのであれば使い方を選別するところから始まり、計算時間と引き換えに空間消費量を減らすこともできる。 逆に有り余る場合は計算時間を空間で買う方法が効く場合もある。オンメモリファイルシステムの活用はその簡単な方法のひとつだ。

一方、二次記憶装置に関しては多くのデータを保有・保管するという意味も持つ。 というよりも、現代において二次記憶装置が計算量を補うのに不足することは考えにくいため、そちらの意味がほとんどだろう。

本当に小さなディスクを運用するケース(だいたい今だと、200GBを下回るような)では手数の問題もある。多くのアプリケーションやデータベースを入れようとすると不足してしまい、できることや効率に影響を及ぼすような場合だ。 また、保有できるデータ量は「できること」そのものを制約しもする。

コンピュータの物理密度の高さはコンピュータのメリットのひとつであり、大量のデータを保有することはそれだけコンピュータを活用しているとも言える。 ただし、ディスクもその時に無理のない量というものがあり、それ以上となってくると負担が大きく犠牲を払うことになる。

では空間量をより増やしたらどうなるのか。

まずメモリに関してはメモリを解放することを意識しなくてよくなってくるというのが大きい。 これは例えばファイルなりウェブサイトなりを開きっぱなしにできるというのが一般的にはイメージしやすいだろうが、そのようにすることは人間的な効率を下げてしまうため、横着できるということで心理的には良いかもしれないが、メリットとしては実際には微妙だ。 そのため、膨大なメモリのメリットは自分でプログラムを書いてこそ感じられる。

そもそも現代のOSは基本的にメモリは無限にあるように見せている。だから、プロセスが自分のために確保するメモリの総量は、実メモリの量よりもずっと多くすることが可能なのである。 これに対してOSはプロセスが実際にメモリを使うときに実メモリ空間にマッピングする。 しかし、これが実際に無限のメモリがあるとしたらどうだろうか。

モダンなプログラミング言語を使っていると、ループがある程度以上になると急激に遅くなる、という経験をするだろう。 これは不要なメモリを解放するガベージコレクタの動作によるものであり、メモリを無限に消費してしまうことなく、膨大な計算も時間さえあればできるようにしている。 だが、メモリが無限にあるのであればそもそも解放する必要がない。

メモリを解放しなくてよい、無限に使うことができるのなら、かなり効率化・高速化することができる。 実際には無限にはないのだけど、メモリがたくさんあるのならば、よりメモリ多く使って多くのことを可能にしたり、高速化につなげることができるだろう。

オンメモリファイルシステムを使うという方法はプログラムを書くことなく領域を有効活用することができる。 だが、本当に大規模なメモリ持っているとオンメモリファイルシステムにファイルを置くということはそれほど有効な(性能に寄与する)話ではない。例えば128GBのメモリがあり、その半分の64GBをオンメモリファイルシステムに使うとする。1回のup中に64GBものファイルをメモリ上に置く、というのは普通はなかなかないだろう。64GBのデータを新たに置くのはそれなりの日数がかかるだろう。 おそらく、64GBもオンメモリファイルシステムにおいてしまうのは、ファイルとして吐かれる一時的なデータをオンメモリにしたいといった意図によって使われるのでなければ(それでも64GBものデータを置くプログラムはなかなかないだろうが)怠惰によるものだろう。

もっとも、4GBや8GBのオンメモリファイルシステムは、その利用状況に常に気を配らねばならない。 怠惰に使うことができるというのもメリットのひとつではある。 一方、膨大なメモリを有効に活用するためにはプログラムをそのマシンを前提にして書くことは避けられない。

では、ストレージについてはどうだろう。

ストレージは作業効率という面もある。特に膨大なデータを取り扱う場合は、重複排除に頭を悩ませるよりは大きなストレージを用意するほうがずっと効率的だったりする。 だが、多くの場合ストレージ容量の増加はコンピュータの使いみちそのものを左右する。

例えばストレージのフリースペースが2GBしかないとする。 メディアデータを入れるには足りないから、そのマシンで音楽を聴いたり動画を見たりするのは難しい。もちろん、ネットストリーミングであればなんとかなるだろうが、「ストリーミングに限る」であればそれはそれで用途が限定されてしまうし、そのマシンは「常にネット接続がないと使い物にならない」という形でやはり使いみちに制約が加わる。 もちろん、スマホからデータを移すという使い方はできないし、写真を保存しておくことも難しい。 多くのアプリケーションを追加することも難しいからそのマシンの用途はだいぶ限られるはずだ。

マシンの能力をいかんなく発揮する上で、十分なストレージが必要になる。

HIDに関する話

実のところ、HIDへの要求というのは、コンピュータに対する要求が計算に偏ると低くなる。 それが進むとコンピュータが単純な計算資源となり、ヘッドレス運用となってそもそもHIDがなかったりするのだ。

つまり、人間的生産性のためにHIDへの要求が高まるのであり、計算力要求とは相反する部分がある。 もっとも、HIDのために計算力(特にビデオカード)が必要になるということもあるし、非対話的に計算力を活用しつつ対話的操作もするということも考えられるので、反比例しているわけではない。 それでもある程度になれば分離したほうが快適だ。どうしても激しい計算をしているとレスポンスが悪くなったりするし、性能はあまり高くなくても別のコンピュータを用意したほうが快適だったりする。

だが、直接的には最も効果を発揮する部分で、こだわり甲斐のある部分である。 思考など、手を動かしている時間以外が重要な場合においては最も効果があることも多い。 また、体への負担が減った分、多くの時間を有効に活用できるようになる場合もあるから、非常に重要な部分であるといえるだろう。

HID及び人的器具としては

  • キーボード
  • マウス
  • ディスプレイ
  • デスク
  • 椅子

というものが主だ。

いずれも重要だが、最も重要なのは椅子なのは間違いない。デスクは高ささえ合わせられればまだなんとかなる面もある。

椅子以外は使い方によって優先度は変わるだろう。 また、「何かしら最低限必要である」と「良いものが必要である」には隔たりがある面もある。 例えばラップトップとエクセルで作業をするような人があれば、何かしら使いやすいマウスがあれば楽になるが、これは良いマウスを手に入れる必要があるということを意味しない。

HIDへのこだわりは、もちろん効率化という意味もあるが、それ以上に「負担の軽減」という意味が大きい。 プロであれフリークであれ、コンピュータをよく使う人にとってはコンピュータを使っている時間というのは長い。 同じことを長時間続けるということはどうあっても体への負担というのは大きいものであり、コンピュータは動かずに長時間集中する分本格的に使うのであればより体への負担は大きいほうだ。

その負担を軽減するということは、コンピュータを使い続ける上で長期に渡って使いつづけられるように、体を壊さないようにするという意味もあるし、長時間集中力を持続させるという意味もある。 一日にほんの少ししか使わない人であればあまりこだわる必要はない部分だが、非常に多くコンピュータを使う人にとっては何よりもこだわらなくてはならない部分だ。

実際、コンピュータを一日中使っていることが多い私は、もうこのカテゴリに関しては最善に近い状態にある。 (ディスプレイが4k4枚を目指しているので、4k1枚とFHD2枚という構成はまだ未完成だ)

こうしたデバイスは個人の好みやフィットするかどうかに大きく左右される。 だからこそ「こだわり」というのは、自分のスタイルを見つけ、自分にあったデバイスをみつけ、自分に合ったものを使い、さらに最適化していくということにある。 単に「こういうスペックのでOK」という話ではないぶん、より「こだわり」という意味が強いだろう。

ビデオカードに関する話

ここまでの話から盛れるのがビデオカードの話だ。

ビデオカードのこだわりは、高度な3Dグラフィックスを描画するためのもの、つまりはクリエイターやゲーマーのためのものだと考えられがちである。 しかし、実際にはそれだけではない。 カテゴリとしては計算力に属するものではあるのだが、全体としての計算力というよりは、特定の局面で非常に大きな効果をもたらすものとなる。

第一に直接に計算力として使われるケースだ。特にビデオカードを計算力として使う場合は、快適性などではなく何かを「可能にする」ために使われる。

第二に専用プロセッサの活用だ。 特にビデオエンコード/デコードアクセラレータは計算力を補助するものになるが、CPUにとっては非常に重い処理を楽々こなす。 IntelやAMDに関してはそうでもないが、Nvidiaに関してはCPUとは比べ物にならないほどの処理能力を見せる。 これらのビデオアクセラレータの存在は、総合的な計算力を求めず、しかしビデオで足りないことのようにすることにも役立つし、リアルタイムビデオ処理(例えば監視カメラや配信など)を必要とする場合にも気にしなければならないポイントになる。

第三に、ビデオカードを計算力として使うソフトウェアでの快適性の向上だ。 これも計算力だが、Google ChromeやFirefoxといったよく使うアプリケーション、さらにGNOME/Cinnamon/Plasma Workspaceといったデスクトップ環境に効くことから、快適性に大きく寄与する。

そして、ディスプレイ出力。これは計算力に加えてメモリ容量の問題もある。 どれだけ画面を出せるかという意味もあるし、画面が大きくなったときに遅くならないという意味もある。 私が会社で使っているコンピュータはThinkPad X1 Carbon Gen8のCore i7/16GB/4kディスプレイモデル。多くの人が羨むようなハイスペックモデルだが、Core i7-10510Uのビデオカードでは4kディスプレイは重く、ディスプレイ設定をFHDにするとあからさまに軽くなる。 外部ディスプレイをつなぐこともできるが、4k外部ディスプレイをつなぐとまともな応答性は期待できない。

ビデオカードはこだわったところでそこまで負担はないことが多い。もちろん、Teslaカードを4枚積む、などとなればそれなりに犠牲を払うことになるが、普通の人が選ぶ範囲であればとんでもない使いづらさは生じない。 ところが、「普通の製品」と限るのであればCPUよりも負担は大きい。これは、「CPUの場合、その気になれば割と簡単にとてつもなく大変な構成のものが選べるが、ビデオカードで大変なことになる構成はそもそも簡単に買えない」という話である。 ビデオカードで高性能なものを選ぶ場合、価格も高く、消費電力も大きく、ボディも大きいため、大きなケース、特別な冷却性、大容量の電源といったものを用意した上で、イニシャルコストもランニングコストも非常に大きいものを使うことになる。ラップトップであれば、その消費電力でマイレージ性能を大きく犠牲にすることになる。

高性能なものを選ぶのは容易だが、だからこそ選んだことによってしんどさも増える。 「こだわり」という意味では単に高性能なものを選ぶというよりも、自分の使い方にあったものを選ぶという意味合いのほうが大きいだろう。

ラップトップに関する話

ラップトップへのこだわりは単純にここまでの話にとどまらない。

  • 計算力・処理性能
  • 携行性
  • マイレージ性能
  • 強度・剛性・耐久性
  • HID性能(ディスプレイ・ポインティングデバイス・キーボード)
  • 外部インターフェイス
  • デザイン性

といったことが挙げられる。価格や消費電力、携行性と機能・処理性能のバランスがあるために「すべてが完璧」というものはなかなかないから、最も妥協がバランスするポイントを選択することになる。

それこそこだわりである。「こだわりがない」というのは、「大学生協で売ってたからこれにした」「家電量販店でおすすめされたから買った」などだが、この結果例えば

  • 処理性能が低くて使いたいアプリがまともに動かない
  • 携行性が悪くてしんどい、普段使いたいかばんに入らない
  • マイレージ性能が足りなくてコンセントから離れられない、使える場所のせいで制限されてしまう
  • キーボードが打ちづらい、タッチパッドが使いづらいためストレスである、指が疲れる、時間がかかる
  • 画面が見づらい、頑張ってみるという感じで効率が悪くとても疲れる
  • 内臓カメラが使いにくく、オンラインミーティングのためにカメラを別途持ち歩く必要がある
  • USBポートが足りない

といった不満を抱えるかもしれない、ということだ。

そういう不満を抱えないための選択、選定が「こだわり」というものだろう。

これは、「こだわり」というものの本質であるとも言えるし、それを「こだわり」と呼ぶべきかどうかも怪しい話である。

熱と電力に関する話

コンピュータにこだわる上で切っても切り離せないのが電力と熱だ。

コンピュータ部品のほとんどは半導体である。半導体は通電することを前提にしたものであり、電気を必要とする。 多くの電気を使えばそれだけ性能を上げることができる。基本的には消費する電気(=消費電力)によってほぼ性能は比例するが、現実には消費電力が増すごとに無駄になる電力が増えるため、伸びは小さくなっていく。 このロスがどの程度あるかは半導体製品によって、また個体によって異なる。

そして、半導体製品は基本的に電力のほとんどを熱に変換する。大まかには300Wの電気を使えば300W(300J/s)の熱が発生すると考えて良い。

単純な電気熱発生器としておなじみなのは、電気ストーブだろう。 1000Wの電力を消費するコンピュータは、1000Wの電気ストーブと同等の熱を発生させる。

大した話じゃない、と思えるのはせいぜい最大消費電力500Wあたりで収まるときの話だ。 1000Wを越えるような電力を必要とするコンピュータの場合、電気ストーブと併用するとブレーカーが落ちる。 一般にコンセントの容量は2000Wで、系統ブレーカーは20Aに設定されているから、その部屋の中で2000Wの電気を使うと、その部屋だけブレーカーが落ちるのだ。

そんなコンピュータを常時ぶん回しているとものすごく熱いし、電気代もすごいことになるし、それが複数台あると電力マネージメントを考えなければならなくなる。 例えば寝室でコンピュータを使っていて、そこでアイロンをかけたりヘアドライヤーを使うことはできないのだ。 特に夏場はそんな熱源を使いながら冷房で冷却することになるため、かなりのコストがかかる。一人暮らしでも電気代が月に3〜4万円かかっても平気、というくらいの感覚は必要だ。

電気を使わない構成にすると、全部含めても100Wいかない程度に収めることが可能だ。ラップトップを使うと20Wとかで済んだりする。 一方、デスクトップPCだとアイドル時でも本体が100Wくらいはかかるようになる(内臓ビデオカードのものなら60Wくらいから考えられる)し、ディスプレイがまた1台で15から50Wくらいかかる。 実際の利用でいくと10倍くらい違いが出る、のだが、割と普通のコンピュータで普通の使い方をしている限りは、高性能なものでも1ヶ月の消費電力的には電気代で1000円くらいの話である。

私の構成だとPC本体の性能もさることながら、ディスプレイが大きく、数も多いためディスプレイの消費電力が大きい。 結果、常時200Wぐらい使っている。8-10畳用LEDシーリングライトが50Wくらいだということを考えると、結構な電気を食うと感じられるだろう。

それでも、性能を欲するなら日常利用における電力差というのは無視できる程度である。問題は、高性能なコンピュータのその性能をフルに使うようなケースに発生するのだ。

つまりデスクトップコンピュータの場合、「普通の人の普通の使い方」であれば熱や電力を深刻に心配することはない。 電気代を1万円くらい余計に払えば解決する程度のことだ。 これはどちらかといえば、特殊な使い方、特殊な設備を阻むポイントになっている、と考えたほうが良い。実際、コンピュータを使うために6kVA(一般家庭の60A)では足りないために電柱から直接電気を引いているような人というのは結構いる。

もっと敏感なのはラップトップにおいてだ。 ラップトップの場合はバッテリー駆動であり、消費電力はそのままマイレージに直結する。 さらに、コンパクトに作る以上熱的には苦しいところであるから、多くの熱を発生すると壊れてしまい、それを防ぐために発熱を減らすべく性能を下げる、といったことが行われる。 ラップトップでは高性能なプロセッサを積みながら、高い性能で駆動するとすぐ熱に負けるためにほとんど性能を発揮できないというのは「あるある」だ。 性能は低いが消費電力はとても小さいCore mのようなプロセッサが性能の高いCore iプロセッサに対して性能的に健闘したりするのはこうした背景がある。

ラップトップはユーザーが意識せずとも、熱と電気、そして性能との狭間で悩ましいバランスをとりながら作られている。

ここまでの話でわかるかと思うが、「電気」というのはコンピュータ全体を支配するファクターである。 同じ性能を発揮するとしても50Wで発揮するのと500Wで発揮するのでは全く意味が違う。 原則として、同じ性能を発揮できる限り消費電力が少ないものが「優れた」プロセッサだ。

計算力を消費電力Wで割ったものを「ワットパフォーマンス」と表現する。 この計算力の算定は統一された基準があるわけではないので、ワットパフォーマンスは絶対的な指標ではない。あくまでも、ある計測において出た性能を、その計測時の消費電力で割るという話だ。 ワットパフォーマンスは略して「ワッパ」と呼ばれる。

ワッパが高いということは効率的ということであり、また優れているということでもある。突き詰めればプロセッサに関してはワッパこそが全てだ。ワッパがよければ性能が少し劣っていてもそのプロセッサをたくさん積むという選択が可能なのだから。 そして、使える電気と冷却できる熱には限界があり、スーパーコンピュータでは限界を決める要素になってくる。

私は今使っているコンピュータはワッパを最優先に置いている。より一般的な言い方にすれば、「性能は高いがあまり電気は使わない」というコンピュータを目指したのだ。 一般的には体感しづらい部分だが、実際に使い勝手にはかなり影響が出ており、満足度は高い。

道具にこだわる話

まず、「選ぶこと」と「こだわり」についてを改めて考える必要があるだろう。

「選ぶこと」を侮るのはいかにも愚かである。 それは、 “目的を達成できなくても、非効率でも、苦痛でも、体を壊しても、そのために道具を選ぶことなど馬鹿馬鹿しい” という主張だから、いかにも思考放棄も甚だしいと感じるだろう。こんな主張は(例えコンピュータでなくとも)取るに足らないものである。

そして、「選ぶ」という観点では単に高級なパーツやハイスペックなパーツだけからなるものを購入するのも、あまり「選んでいる」とは言えない。 この程度であれば「高価なものなど不要」と劣悪なコンピュータを選択するのとあまり変わらないレベルだ。 本当に「選んでない」というのは、自分以外の誰かが選んだものをただ使うということだから、いくらなんでもその場合は冒頭の主張は行わないだろう。

「選ぶ」ことが「こだわる」ことであるという定義に基づいてここまで話をしてきたのだが、本来こだわりとは本質的には無用なものであるから、それを「こだわり」と呼ぶのは些かどころではなく誤用である。 もっとも、大概にして「こだわり」という言葉を「選択する」ことを指して用いるのが今の世だが、これは物事の妥当性を考えて決断し選択するという行為を、思考することを侮蔑する人々が嘲笑う背景が透けて見えるのであまり気持ち良いものではない。

「こだわり」というのは、機能的な有益性はないがそうでなければならないと執着する、「コンピュータは周辺機器を含めて全て白でなければならないし、白のない製品は買わない」とか、「白は白でも色味が同じでなければならない」とか、「どんなに性能が低くても機能に問題があってもAMD製品しか買わない」とか、「日本語印字のあるキーボードは許せない」とか、そういうものである。

だが、その点を前提として話を進めるとどうしても日本語の話にしかならないので、「こだわり」を「選択」の同義語だとして話を進めると(この場合、「弘法筆を択ばず」が元だから、「選択」の話をすることは全く妥当だろう)、「選択しない」ことの害はラップトップの節で十分に説明になるであろうし、「選択する」ことがそうした害を避けるものであると考えれば当たり前に「選択すべきである」という結論にはなるだろう。

結局のところ、こだわりの結果として得られるのは

  • 快適性 (ストレスが減る)
  • 可能性 (できなかったことができるようになる)
  • 負担の軽減 (損失が減る)

であるが、実際にはさらに精神的な作用も大きい。 モチベーションが上がるとか、そういうことだ。

くだらない話に思えるかもしれないが、実際のところむしろ本質的に最も重要である。 プログラミングだろうが文筆だろうがゲームだろうが、モチベーションが低くやる気の出ない状態で良い結果が得られるわけがないのだから。

人生は時間が限られているのだし、せっかく時間を費やしているのにそこに無用なストレスを感じたり不満を抱いたりするべきでないのは確かだ。 適切な選択によってそれを防ぐことができるのなら、そうしない理由などないだろう。

だってそうだろう。誰だって誰かに与えられた、望まない、性能が低くてまともに動作しなくて汚くてオンボロのコンピュータより、自分が一目惚れしたビジュアル、なんの文句のつけようもない快適さ、憧れ欲して手に入れたコンピュータのほうが、積極的に「使いたい」と思うだろうし、実際より多くの時間を過ごすだろう。

この記事は10月に書いて一旦塩漬けされ、12月に改めて書いている記事だが、仕上げるにあたり、私はキーボードを替えた。 私はキーボードには少々マニアックな面を持っているが、REALFORCEからLibertouchへと、いずれ劣らぬ最高のキーボード同士で変更したのだ。 Libertouchにした理由はいくつかあり、現実的な理由としては決算時期なのでテンキーのあるキーボードをつけたい(私のREALFORCEはテンキーレスである)というのもあるが、交換したのはまさにこの記事を書いている途中である。 それは別にREALFORCEに不具合があるということではなく、長文を書くときはLibertouchのほうが心地よく打てる、つまりはテンションが上がる、モチベーションが生まれるという理由で、「既に時間が経ってしまった長文記事をちゃんと書き上げるには『書こう』とより強く思える動機づけが必要だからLibertouchを出した」のである。おかげでなんとかこの記事は最後まで書き上げられそうだ。

もし私が道具を選ばなかったらChienomiもここまで活発ではなかっただろう。現行のChienomiが誕生したときはコンピュータは至って平凡な性能であったが、キーボードはOwltechのメカニカルキーボードであったし、OSはLinuxであったし(当初はopenSUSEだった)、ディスプレイは安い21.5インチFHDだがデュアルディスプレイだった。他にもエディタはkate、フォントはMigu 1Mと執筆に適切な環境をそれなりに選んで作り上げた。もちろん、Chienomiの記事を書くために必要となるPureDoc1もそうしたこだわった環境で作り上げた。 もし劣悪な道具を使っていたとしたらChienomiも続いていなかったかもしれない。実際、Linuxを手にするまではコンピュータを使うのが嫌になっていた時期もあるし、Rubyを手にするまではプログラミングが嫌になっていた時期もある。2

私の研究では圧倒的に不十分な設備を用いていた時期が長く、それでも研究自体は続けていたが、十分なデータを保存するストレージも、そのデータを現実的な時間で解析できる計算力もなく、ただただ空想の中で理屈を弄んで過ごすしかなかったりもした。結果的には実際にコンピュータを動かさずに行った思索が正しく、十分なコンピュータを手に入れたことで目標は達成できたが、手に入らないままならば形になることもなく、ただの絵空事と言われていただろう。

選ぶことは必然だし、能力がなければ選ぶことはできない。 能力を持って時間をかければ、選択はより「適切な」ものへと絞り込まれていく。 適切さ、妥当さを深めていく中で細部まで「望ましいもの」が確定していくことは、「こだわり」に見えるかもしれないが、実際は正しく選択された結果であると言える。

一方、徒にハイスペックなものを求めるのは、あまり考えているとは言えず、選んでいるのではなく、隣の芝生か、あるいはすっぱい葡萄かといった程度の話だ。3

「選択を真に妥当にする」というのは相応に能力と時間を必要とする、ということでもある。 自身のリテラシーの低さを性能でカバーするというのは普通にあることだ。メモリの使い方、ストレージの使い方、CPUの使い方が下手だから高性能なコンピュータを要求し、そのコンピュータの性能で自身の未熟さをカバーするということは普通に考えられる。もちろん同じような話で、別にないならないでなんとかする方法は確立しているが、高性能なコンピュータによってその手間を省くことで効率化できるから、人間の労力を払うよりも費用を払って高性能なコンピュータに任せようという考え方もある。

この場合、「必要だ」という言い方をするのは些か幼稚だとも言える。 小さな子供がほしいものを表す方便を「必要」とするように、ただ自分の未熟や怠惰を覆い隠して「必要」と言い張ることで手に入れようとしているように見える。 もちろん、それを購入するのが自身であるならば、高額な買い物に対する言い訳としてするのは誰の迷惑にもならないので結構だが、その「必要」という言葉で第三者に買い与えさせようというのはさもしくもある。 何より、その「必要性と妥当性」について、きちんとした検証を経て解説できないのであれば、ただ声を張り上げることで思いのままにしようという行いが目につくだけのことだ。

この「道具に対するこだわり」で肯定的に述べる側が「必要だから会社は買い与えるべき」などという論調に溢れていたことからここでこのように述べたが、別に個人として何を使うかというのは至って自由であり、液浸冷却コンピュータを使ったって構わないのだ。だから、第三者に押し付けることなく自分で選択する分にはこだわろうがこだわるまいが好きにすればよいことだし、そんなことは言うまでもないからここまで言ってこなかった。 ただ、それを口外するときは自身の未熟さを晒すことになる可能性は考えるべきだ。この記事だって、私が未熟であるために十分な考察でない可能性だってあるのだ。 (とはいえ、「必要だ」「これを選ぶべきだ」のような大きな言葉を使えば批判は免れないにせよ、「好きで選んだ」ということに対して口を挟むような真似は無粋であるから、気にする必要もない。)

第三者にどう見られるかは別として、重要なのは「選ぶこと」そのものであり、目的を達成できるのであれば過剰なものを選んだって構わない。 私はファーバーカステルの色鉛筆を使っているが、絵は上手くはないし、ファーバーカステルの魅力を引き出しているとはとても言えない。絵を描ける人ならばなんともったいないと言うかもしれないが、私はファーバーカステルの色鉛筆で色を塗る時は他の画材を使うのと比べてとても楽しい気持ちになっているから、それで良い。

選ぶ上で大事になるのは、愛着を持てるものを選ぶこと、辛くないものを選ぶこと、積極的に使いたいと思えるものを選ぶことだ。 私は今のコンピュータ環境はとても気に入っていて、一日の中で使える時間が短くて残念に感じているくらいだ。

そして選ぶことは非常に大きな結果を得ることにつながる可能性もある。 その後の人生に大きな影響を与えるような行動の変容をもたらすかもしれないほどにだ。 だから選ぶことは大事だし価値がある。 時間をかけて考え抜いて選び抜いたものが実際はとんだ期待ハズレである可能性だってあるので、あまり気負いすぎない程度に、だが。

さて、最後に「弘法筆を択ばず」の本来の意味通り、達人であればコンピュータの優劣によらず秀作を生み出すことができるのか、という話をすると、これはおおよそYESである。 達人であればコンピュータの性能が低ければ低い性能をやりくりするし、コンピュータの性能が高ければその性能を引き出す。質の悪い環境であれば無理をせずその環境で成り立つ程度に作業するし、質の良い環境であればその環境を活かしてより生産性を高める。いずれにせよ能力が必要なのであり、ただ一点においてということではなく能力に長ける達人であればどのような環境であれ結果を出すだろう。 ただし、その結果は道具によらず一定というわけではない。達人が最高の道具を手にすれば、より良い作が生まれるのは必然だ。