Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
Производительность JavaScript Array в V8. ⎡perf:5⎦
Разберем основные аспекты, влияющие на производительность работы с JavaScript Exotic Object Array в V8: 1) Какие существуют виды Array на уровне внутренней реализации V8 2) Что такое holes 3) Что такое slots 4) Что такое Fast or Dictionary Elements 5) Что такое Elements Transitions 6) Аллокация слотов при увеличении количества элементов 7) Аллокация слотов при уменьшении количества элементов 8) К каким последствиям приводят вызовы Array(), new Array(), Array.from, Array literal Таймкоды: 00:00:00 Музыка 00:02:39 Мнение Тучи про Java и про Python 00:06:39 Начало - проблематика 00:08:20 PACKED и HOLEY 00:10:40 SMI, DOUBLE, ELEMENTS 00:21:45 Dictionary elements 00:27:20 Промежуточные итоги по вышесказанному 00:30:15 Что такое slot 00:31:05 Что происходит при увеличении длины Array 00:40:55 Что происходит при уменьшении длины Array 00:48:05 Особенности поведения методов Array в плоскости Slots 00:52:05 Вопрос о том что быстрее push или fill 00:54:00 Пример поведения Array при уменьшении его длины 00:56:20 Что такое COW у Array или Copy on write 01:04:55 Почему Array типа SMI значительно быстрее чем Array из ELEMENTS 01:17:40 Гипотеза о том, что переход к Dictionary требует непрерывного числа hole 01:29:50 Резюме вышесказанного 01:34:10 Вопросы/ответы AsForJs новости в Telegram: AsForJs Talks в Telegram: Поддержать маленького бородатого JavaScript-ра Карта Приват: 5168745021397333 USDT Tron (TRC20): TKoZu59WHiX6L6qvwYTYTsZJerDrnAHBTx USDT etherium (erc20): 0x75fb8a62dfcf453b2e73f1ef1c407d46f918fffa TON: UQAGXvuhxg3qU0eFgOxtdDlKXqdp1zPq6yCRSRbRYQClxOzH bitcoin:bc1q74aru82v4d3alay7p53jdwkmxe4a5gz7fmvfm2?message=AsForJS&time=1686349743 PayPal: demimurych@protonmail.com / demimurych Boosty: Слайды: