Почему процесс может работать быстрее, чем блок?

Этот ответ на другой вопрос говорит, что

array.map(&:to_s)

быстрее, чем

array.map { |n| n.to_s }

В первом примере &превращает :to_sв Proc. Во втором примере используется блок.

Почему Proc может быть быстрее, чем блок в этом тесте? Есть ли какая-то оптимизация, которую этот метод позволяет выполнять интерпретатору?

13
задан Community 23 May 2017 в 12:25
поделиться