Оптимизирует ли V8 внутренние функции на основе значений закрытия?Javascript

Форум по Javascript
Ответить
Anonymous
 Оптимизирует ли V8 внутренние функции на основе значений закрытия?

Сообщение Anonymous »

Например: < /p>

Код: Выделить всё

function makeFunc(a,b,c,d,e) {
return () => {
if (a) { /* do something expensive not referencing b,c,d,e */ }
if (b) { /* do something expensive not referencing a,c,d,e */ }
if (c) { /* do something expensive not referencing a,b,d,e */ }
if (d) { /* do something expensive not referencing a,b,c,e */ }
if (e) { /* do something expensive not referencing a,b,c,d */ }
}
}

const func = makeFunc(true, false, false, false, false)
for ( let i=0; i < 100_000; i++) func()
Я надеюсь, что в примере V8 оптимизирует тестирование if (x) на закрытии, издавая только

Код: Выделить всё

/* do something expensive not referencing b,c,d,e */
после if (a) для выполнения 100 000 раз.


Подробнее здесь: https://stackoverflow.com/questions/795 ... ure-values
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»