私は Ruby のパフォーマンスについて読み込もうとしていて、この SO スレッドに出くわしました。回答の 1 つで、「Ruby で最も一般的な操作の 1 つであるメソッド呼び出しが特に遅い」と述べられています。
別のスレッドは、「柔軟性を確保するために、メソッドの「レイトルックアップ」を行います。これにより、かなり遅くなります。また、評価を可能にするためにコンテキストごとに名前を覚えておく必要があるため、フレームとメソッドの呼び出しが遅くなります。」
Ruby のメソッド呼び出しが特に遅い理由を詳しく説明し、2 番目のスレッドについて詳しく説明してもらえますか? レイト ルックアップとは何か、なぜ遅いのか、完全にはわかりません。また、コンテキストごとの名前が何を意味するのか、それがフレームやメソッド呼び出しとどのように関係しているのかもわかりません。
私の (おそらく間違った) 理解では、メソッドは実行時に追加または変更できるため、Ruby インタープリターは特定のメソッドの実行方法を「記憶」することはできないため、プログラムの実行中に毎回メソッドを検索する必要があります。メソッド呼び出しが遅いという意味です。しかし、修正とより技術的な説明は素晴らしいでしょう.