かつて「昔のソフトは軽かった」と語られることがありますが、その裏には開発者たちの地道な工夫がありました。Microsoftも1990年代は、わずか12MBのRAMしか存在しない環境でWindowsやOfficeを動かすため、バイナリを徹底的に最適化していたのです。その中心にあったのは、社内で「Microsoft Lego」と呼ばれていたツールBBT(Basic Block Tool)でした。"Microsoft LEGO" was one of the strangest and most secret optimizations we ever used at Microsoft, because it happened after the compiler was done, after the linker was done, after the .exe or .dll already existed, and in many cases after the developers themselves thought the… pic.twitter.com/5j5Ow9t1ls— Dave W Plummer (@davepl1968) June 17, 2026 元MicrosoftエンジニアのDave Plummer氏によれば、当時のアプリケーションは巨大化する一方で、実際に起動時に必要なコードはごく一部。しかし、その必要な300KBほどのコードが10MBのバイナリ全体に散らばっているため、読み込み時に大量のメモリページを触る必要があり、ディスクアクセスが発生すると大きな遅延につながっていました。BBTはこの問題を解決するために、実行パスを解析し関連するコードを近くにまとめるという、バイナリの「デフラグ」処理を行い、機能はそのままに、より高速に動作するバイナリ を生成していました。現代にも通じる最適化の哲学Dave Plummer氏によれば当時の環境は、起動時に触るページ数を減らす、よく使うコードをまとめてスワップアウトされにくくする、マルチタスク時のレスポンスを改善するといった工夫が、ユーザーの体験に直結していたとのことです。最適化の哲学は、ハードウェア性能が飛躍的に向上した現在にも通じるものがあり、Plummer氏「問題のスケールが変わっただけで、本質は同じ」と語っています。バイナリは巨大化し、フレームワークは複雑化し、サービスは分散化していますが、それでも「ホットコードをまとめる」「共通パスを小さく保つ」といった原則は今も有効であり、BOLTやHP Dynamoのような現代的なツールにもその思想が受け継がれているとしています。