JavaScript и Chrome: почему for...in работает очень быстро в первый раз, но последующие запуски выполняются медленно?Javascript

Форум по Javascript
Ответить
Anonymous
 JavaScript и Chrome: почему for...in работает очень быстро в первый раз, но последующие запуски выполняются медленно?

Сообщение Anonymous »

Я тестирую (в Chrome) два способа подсчета количества свойств в объекте JavaScript.
Я использую бета-версию Chrome версии 146.0.7680.31 (официальная сборка) (64-разрядная версия).
Первый — перебор каждого свойства с помощью цикла for...in и увеличение счетчика, а второй — вызов Object.keys(obj).length.
Я создал JSFiddle для проверки каждого метода, и в Chrome при первом запуске цикл for...in работает чрезвычайно быстро по сравнению с методом Object.keys(obj).length.
Однако при последующих запусках цикл for...in работает намного медленнее.
Почему это так?
/>Первый запуск со 100 000 000 итераций (Chrome)

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

for...in
— 0,531 секунды

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

Object.keys(obj).length
 – 0,955 секунды.
Второй запуск со 100 000 000 итераций (Chrome)

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

for...in
— 3,361 секунды

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

Object.keys(obj).length
- 0,994 секунды
JSFiddle
Вот JSFiddle: https://jsfiddle.net/79bpf2rs
Изображение


Подробнее здесь: https://stackoverflow.com/questions/799 ... t-time-but
Ответить

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

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

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

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

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