命令型よりも高速な関数型のアルゴリズム (またはそのようなアルゴリズムの引数) を探しています。
私が関数型コードを好むのは、それが命令的なペンダントよりも表現力豊かで読みやすいからです。しかし、この表現力によって実行時のオーバーヘッドが発生する可能性があることも知っています。常に末尾再帰などの手法が原因であるとは限りませんが、多くの場合、処理が遅くなります。
最近の PC は非常に高速であり、開発時間はランタイムよりもコストがかかるため、プログラミング中は機能コードのランタイム コストについては考えません。さらに、私にとって読みやすさはパフォーマンスよりも重要です。それにもかかわらず、私のプログラムは十分に高速なので、命令的な方法で問題を解決する必要はめったにありません。
実際には命令型スタイル (ソート アルゴリズムなど) で実装する必要があるアルゴリズムがいくつかあります。そうしないと、ほとんどの場合、遅すぎるか、大量のメモリが必要になります。対照的に、関数型言語で記述されたパーサーのようなプログラム全体のパターン マッチングなどの手法により、コンパイラがコードを最適化する可能性があるため、命令型言語で記述されたパーサーよりもはるかに高速になる場合があります。
しかし、関数型スタイルでより高速なアルゴリズムはありますか、またはそのようなアルゴリズムの引数を設定する可能性はありますか?