プログラムを2倍から4倍早くする方法
プログラミングの話なので、ソフトウェアを使うだけのユーザーには関係ない話です。
要するに実行速度の遅いプログラムを2倍から4倍高速化させるには非常に基本的なトリックというか技術を使えば可能ですよ、というお話。
アルゴリズムの考え方なので、仕事上どうしてもプログラムの実行速度を上昇させる必要があるが、やり方がイマイチよく分からないという人は必見。
Dr. Dobb's | An Algorithm for Compressing Space and Time | 3 1, 2006
かの有名な「ライフゲーム」を例に出し、プログラミングのコードの内容を高速化するにはどういうアプローチを取ればいいのか、その際に使用する再帰的アルゴリズムの考え方、複雑な式を簡単な式に圧縮する方法、圧縮することで実行時間の節約が可能になること、などをやたら詳細に解説しています。
ぶっちゃけ、これが理解できるのであればそもそも最初から問題ない気もしますが。
再帰的アルゴリズム
上記サイトでも書かれていますが、
再帰プログラムでは簡単に書けるが,非再帰プログラムはかなり複雑なプログラムになってしまうようなものがある。
まずは,非再帰プログラムで問題を考えてみる。
難しいと判断した場合,再帰プログラムで考えてみる。
これが基本。なので、再帰的アルゴリズムを理解していると、その手法が有効なケースで劇的な威力を発揮するというわけです。万能ではないのですが、リスト構造などは再起関数を使えば簡単という話も聞きます。
いずれにせよ、知っておいて損はないのではないかと。同様の書籍も多数出ているので、さらなるレベルアップを目指す方はがんばってください。
あと、この考え方、実生活でも十分に応用できそう。
・関連記事
Windowsの終了やログオフを高速化する「User Profile Hive Cleanup Service」 - GIGAZINE
・関連コンテンツ