Comments 23
128 case? куда столько сразу-то?
Разные потребности бывают :)
Например можно различные генераторы конечных автоматов должны это учитывать. Парсеры и тп.
Что подразумевается под составным оператором присваивания? Несколько переменных через запятую? Или так: let x = y = 1?
Это все операторы вида +=, -=, *=, /= etc. Compound assignment.
А какой смысл использовать их при объявлении переменной (let)?
В оригинале написано:
Скорее всего, имеется в виду составное присваивание переменной/константы после объявления с помощью let/const:
Здесь вместо let можно написать const, переменная просто не обновится.
Functions that contain a compound let assignment
Functions that contain a compound const assignment
Скорее всего, имеется в виду составное присваивание переменной/константы после объявления с помощью let/const:
let n = 1;
n++;
Здесь вместо let можно написать const, переменная просто не обновится.
Оригинальный автор — создатель библиотеки bluebird, фанат оптимизаций. Промисы в bluebird ближе всего к колбэкам, сильно обногяют нативные промисы, так что он знает о чем говорит. Ну и если вы пишите какую-то библиотеку — вам следует об этом знать.
Посмотрите ещё на github.com/codemix/fast.js/tree/master ;)
Интереснейшая вещь, спасибо!
BTW — больше всего заинтересовал метод «try» в это библиотечке, и его реализация как раз точно совпадает с описанным статье — позволяет отделить функцию и блок try, в итоге функция оптимизируется.
BTW — больше всего заинтересовал метод «try» в это библиотечке, и его реализация как раз точно совпадает с описанным статье — позволяет отделить функцию и блок try, в итоге функция оптимизируется.
Интересно, что мешает авторам V8 встроить подобные трюки себе и начать всё это оптимизировать самим?
Авторы V8 вынуждены соблюдать спецификацию на все 100%, включая самые крайние случаи, которые почти никогда не встречаются в реальной жизни. Поэтому некоторые полифилы, разработчики которых не заморачиваются подобными вещами, работают быстрее. Ничего необычного в этом нет.
Добро пожаловать в реальный мир JavaScript!
Сам впервые был в шоке от этого, когда написанная на коленке реализация heapSort в 5 раз обогнала стандартный sort.
Сам впервые был в шоке от этого, когда написанная на коленке реализация heapSort в 5 раз обогнала стандартный sort.
«Нативное» для JS — это тот же JS код, заранее распарсенный и оптимизированный. Через 3-10 прогонов обычный код оптимизируется и работает с такой же скоростью.
Sign up to leave a comment.
Убийцы оптимизации