チューニングと過学習

Windows では,伝統的に,レジストリの「FooBarSize」みたいなカーネルパラメータを弄って「最適化/高速化/軽量化」という記事の受けがよいように思います.

しかし,こういう小技を単純に集約しても,大技というか叡智にはなりません.長期的な成長を維持するには,雑多な現象論に共通項を見いだし,メカニズムとして再構築することが必要です.つまり,本来こういう構図があるのです.

基本
「単位時間あたりのディスク読み出しを最小化したい」,「CPU の計算スループットを最大化したい」,「物理メモリのフットプリントを小さくしたい」といった原理原則
改良
個々の現象に合わせた細かい調整

その点,Windows の生態系ではどうもパラメータチューニング系の記事が多く,ユーザーが自身の脳と PC 環境両方を過学習させてしまいやすい,やばげな状況にあるような気がします.例えば,ですが,

大容量のメモリを積んでいる場合、ページングファイル(仮想メモリ)を不要に感じるユーザーも少なくないだろう。そもそも、ページングファイルとは物理メモリが高価な時代に、大型アプリケーションを快適に動作させるように導入されたロジックである。

と,気楽に言ってしまえるほど単純な話ではないと.いやまあユーザーは気楽に言ってもいいと思いますが.OS 屋さんは多分そうはいきません.
確かにページファイルを無効化すれば,

  • ページインが嫌なタイミングで起きて待たされる機会が減る
  • ページアウトによる HDD のアクセス音 (予想しないタイミングで起きるので気に触る) が減る

という効果はあるでしょうから,利用者がそういう設定をするのを止めるつもりはありません*1.が,ページファイルを無効化すれば単純にハッピーと学習されるのはちと怖いです.
「ページファイルを無効化したら顧客満足度が上がりました.原因はよく分かりません/どこかの Web で読みました」,という人が大量生産され,そういう人たちがモノを「出荷」したり「公開」したりし始めるとやばいですよと.まあうちの日記も小技ばっかりで人のことは言えませんけど.
もっとも,ユーザーの立場からすれば,快適に使えれば何でもいいわけです.そんなわけで,OS 屋さんは,外野から文句を言われつつも,OS のイノベーションを続けていく必要があるのでしょう.土管屋さんも大変です.

*1:長期的には,ユーザーが嫌う HDD アクセス音の発生パターン/タイミングが存在する,人間の知覚するレスポンスタイムには重みがあるといった点をメモリマネージャのメカニズムに組み込む必要があるかと思います