Сравнивая этот тест с хром 16 и опера 11.6, мы обнаруживаем, что
- в хром native bind почти в 5 раз медленнее, чем эмулированная версия bind
- в оперативной связи bind почти в 4 раза быстрее, чем эмулированная версия bind
Если эмулированная версия привязки в этом случае
var emulatebind = function (f, context) {
return function () {
f.apply(context, arguments);
};
};
Есть ли веские причины, по которым существует такая разница, или это просто вопрос v8, недостаточно оптимизирующий?
Примечание: emulatebind
реализует только подмножество, но это не имеет особого значения. Если у вас полнофункциональное и оптимизированное эмулированное связывание, разница в производительности в эталонном файле все еще существует.