Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   В чем сходство Function и Eval? (https://javascript.ru/forum/misc/48492-v-chem-skhodstvo-function-i-eval.html)

foo 06.07.2014 19:03

Цитата:

Сообщение от kobezzza
быстрее в 3 раза.

странно, а у меня 180/170 примерно, разница мизерная. У тебя какой v8? Я в ноде тестирую, а ты?

kobezzza 06.07.2014 19:12

Цитата:

Сообщение от foo (Сообщение 319715)
странно, а у меня 180/170 примерно, разница мизерная. У тебя какой v8? Я в ноде тестирую, а ты?

node 0.11.13

Чем сложнее тело функции - тем потенциальна выше разница. JIT - это не 100% гарантия, но очень сильная возможность, а eval её полностью исключает.

В других VM такой же результат.

Пруф видео

foo 06.07.2014 19:37

Цитата:

Сообщение от kobezzza
node 0.11.13

Я в 0.10.7
Кстати, я заметил, что второй цикл раз от раза быстрей работает, заметно невооруженным глазом. Там кэширование наверное, на всю катушку работает. Не знаешь, как там кэш сбросить или отключить?

kobezzza 06.07.2014 19:43

Цитата:

Я в 0.10.7
Там уже очень старый V8 юзается, обнови.

Цитата:

Не знаешь, как там кэш сбросить или отключить?
Имеешь ввиду как сбросить работу JIT? Внести изменение в код, которое вынудит генерировать новый машинный код для участка байт кода. А вообще в каждой VM свой JIT-компилятор со своими плюсами, минусами и фишками. Например для Odin Monkey (JIT Spider Monkey в FF) я видел отдельный отладчик, который позволяет управлять работой JIT.


Часовой пояс GMT +3, время: 07:16.