98の頃に常識的tipsと言われていたものなので、検証もしないまままだいい続けている人がいるのか...という感じではある。個別に常駐アプリケーションの無効化これは確実に効果がある。10)は多くのケースにおいて「効果のある変更はできない」のが実情だ。批判記事のほうではメモリの問題と考えているようだけれど、常駐アプリケーションに関してはメモリの問題はかなり小さい。メモリが常駐アプリケーションのために不足するほど少ないことは稀だし(常駐アプリケーションの中身次第だけども)、メモリのアクセス速度は比較的速いため速度低下に通じる条件は割と狭い。常駐アプリケーションが重くなる最大の理由は、「遅いリソースに対するアクセス」であり、一番はディスクアクセスである。ほんのわずかでもディスクアクセスが入れば全体的に結構遅くなる。ディスクからインデックスを作るようなタイプのプロセスは走っているときにエクスペリエンスを著しく落とすことがあるので、こういうのは切ると効果が大きい。ネットワークアクセスも場合によっては重い。接続されているインターフェイスが高速ならいいのだが、不安定なWi-Fiなどにつながっているときの挙動が全体の動作に影響を及ぼす場合も(だいぶ稀だが)ある。このような挙動を示すものはWindowsでは少ない。スマートフォンの場合全体の中でネットワークに依存する度合いが高いこともあってネットワークアクセスするバックグラウンドプロセスの存在は全体のエクスペリエンスに大きな影響を及ぼす。これはWindowsでも大きな通信を常時している場合や低速なインターネット接続である場合は同様の問題があるだろう。スリープ、あるいはブロックしないタイプのプロセスの場合は定期的にCPUを要求することになり、プロセススケジューラ的に負担になる。いえば、そこで負担のかかる処理をしているとCPU時間的にも重くなる。これは「重い処理をするプロセスは」と捉えるかもしれないが、そんなことはない。Windowsにはforkはないけれど、例えばLinuxの場合はジョブスケジューラによってシェルスクリプトを定期実行しておくようにしたりすると、シェルスクリプトがコストの高いfork(2)を定期的に発行することになるので、結構重くなる。これらの問題が体感的に重くなるかどうかはかなり様々な条件によって変わるのだが、そもそも記事自体が「重いと感じている」ことを前提として、「どのように重いと感じているかの究明はしない」というスタンスで「やってみれば軽くなるかもしれない」という記事を書いているのだから間違ってはいない。「データ量が増えるとアクセス速度が遅くなる」のはそもそもHDDの物理的特性に依存している。HDDでデータが増えるとデータが物理的に遠くなるのでかなり遅くなる。ランダムアクセス速度はさらに遅くなる。HDDはコンピュータの中で現在多くの場合最も遅いデバイスなので、これが遅くなるとCPUから見るととんでもなく低速化したことになる。実際に記事はハードディスクドライブ、と明示されているので正しい。これはファイルシステムとディスクデバイスの問題とは別である。様々なリスクを低減することにはなるが、エクスペリエンスへの直接的な影響は基本的にない。バックグラウンドでの動作を抑制し、ディスク要領を空けるという意味はあるので前2項と同じ話だろう。デフラグをかけるハードディスクでは物理的な移動量を減らすことにより効果がある。昔ほど劇的な効果はない。ディスクへのダメージを考えると「余程のことがない限りしないほうが良い」というのが近年の考え方だ。ディスクのクリーンナップをするこれも空き要領を増やすのとだいたい同じなのだが、他にも効果がある。キャッシュ自体がインデックス対象になるケースと、キャッシュが増えることでオーダーも増えるケースだ。そんなクソ実装なソフトウェアをイマドキ使っている人はあまりいないと思う。ブラウザのキャッシュをクリアするこれは恐らく間違っている。Explorerはそもそもキャッシュをプリロードする仕組みだったし、キャッシュヒットの計算量もキャッシュ量によって増加するようになっていた。今はだいたいsqliteだったりするので、キャッシュ量がパフォーマンスに与える影響というのは無視できるレベルである。それよりはキャッシュがないことによって発生するネットワークアクセスに伴うパフォーマンスへの悪影響のほうがずっと大きいだろう。ハードディスクに対する容量管理に対して神経質すぎるのではないだろうか。ディスク容量という意味ではブラウザキャッシュはものすごいサイズになることが多いので、むしろ容量の少ないSSDのほうが消したいかもしれない。批判のほうでメモリ云々言っているけれど、Windowsのアニメーションのロードは別にアニメーションを行うときに読まれるわけではないので、メモリに対する影響はない。これはパフォーマンス上は効果がない。今Windowsのアニメーションはハードウェアアクセラレーションによって実行されるようになっており、CPUに対する負担が(ほぼ、あるいは全く)ない。ハードウェアアクセラレーションのできないPC構成は現代のものとはとても言えないだろう。エクスペリエンスという点に限って言えば意味がないとも言い切れない。アニメーションには時間がかかるので、「待ち時間が遅い=重い」と感じるかもしれないからだ。記事中では視覚効果を出すための動作はパソコンのパフォーマンス・動作スピードを落とす原因にもなります。あるが、動作スピードは落ちてもパフォーマンスは落ちない。再起動を行う再起動を行うことで問題が解消されるケースについて説明しまう。昔定期的に再起動が必要だったのはメモリリークによるものである。メモリリークとはメモリに領域を確保して開放しないままプロセスが終了してしまうことによりメモリを占有したままとなり、メモリの空きを減らしていってしまう問題だ。現在は処理系やOSの改善もあり、このようなケースは比較的少ない。どちらかといえば終わるべきプロセスが終わらない、本来ひとつしか起動しないはずのプロセスが複数起動してしまう、ロックファイルが消えない、FIFOが多重に書かれて上書きされる、起動処理に失敗する、変数がバグって変なループにおちる、待ち合わせタイミングがおかしくなってブロックしつづける、マルチスレッドのプログラムが一部スレッドだけ落ちる、といった異常な状態が解消できる(ファイル残りなどは解消できない場合もあるが)。このような問題はごく最近、劇的に少なくなった。以前はデスクトップユースで数日に渡って連続使用するというのは結構難しかったのだが、現在はWindowsでもLinuxでも1ヶ月程度の連続稼働はなんということもなくこなしてしまう。した不整合による問題は非常に起こりにくくなったのだ。「不快なエクスペリエンスを解消するために再起動」というのは網羅的に書けば出てくるけれど、あまり重要ではないと思う。書くこと自体には問題ないとも思う。モデルライフで意識的に再起動したことが一度もない、というユーザーを私は結構知っているし、そこまでになると再起動することで解消することもままあるし、初心者向けに書かれていることから再起動という知識がないケースも想定されるのであっていいと思う。以上を終えて放っておいてもよかったような内容だが、なんとなく批判のほうが正しく、McAfeeが悪いような空気になっていたので書いてみた。McAfeeのほうは本当に初心者を想定して、理解を度外視して手順だけを並べたのだろう。意味的には同じものも書かれている。どちらかと言えばMcAfeeの書いていることが「懐かしいねぇ、2000年ごろは至るところでこんなことが書かれていたねぇ」と微笑ましく読むところだろう。