我正在尝试阅读有关 Ruby 性能的信息,并遇到了这个 SO thread,其中一个答案提到“方法调用是 Ruby 中最常见的操作之一,速度特别慢。”
另一个线程提到“它对方法进行“延迟查找”,以提供灵活性。这会减慢它的速度。它还必须记住每个上下文的名称以允许 eval,因此它的帧和方法调用更慢。
有人可以更详细地解释为什么 Ruby 方法调用特别慢,并详细说明第二个线程吗?我不完全确定什么是延迟查找或为什么它很慢,而且我不知道每个上下文的名称是什么意思,也不知道它与帧和方法调用有何关系。
我(可能不正确)的理解是,由于可以在运行时添加或修改方法,Ruby 解释器永远无法“记住”如何运行特定方法,因此它必须在程序运行时每次都查找该方法,而这是方法调用慢的意思。但是更正和更多技术解释会很棒。