Size: a a a

JavaScript — русскоговорящее сообщество

2020 December 05

D

Danila in JavaScript — русскоговорящее сообщество
Вася
Выше было сказано, что есть разница в производительности.
1) Да, есть. Но является ли этот код узким местом? Если нет, то зачем его оптимизировать в ущерб читаемости? Есть такое понятие как premature optimization
2) Сегодня форич быстрее, а завтра хитро оптимизированый while. Нужно использовать то, что тебе дают, а оптимизацией пусть занимается движок, любая твоя "оптимизация" оптимизирует под текущую версию конкретного движка, движков много и они все постоянно обновляются
3) Исходя из п2 и п1 рекомендую использовать читаемый и удобный foreach/for in/for of
источник

D

Danila in JavaScript — русскоговорящее сообщество
Заниматься подобными оптимизациями - это как заниматься минификацией, пытаясь всё уместить на минимальное количество строк - занятие ради занятия
источник

D

Danila in JavaScript — русскоговорящее сообщество
Писать нужно так, чтобы это в первую очередь коммуницировало с людьми, которые этот код читают и поддерживают, для этого языки и придуманы, если бы язык был не для людей, а для компьютеров - мы бы до сих пор пробивали бы дырки в перфокартах
источник

В

Вася in JavaScript — русскоговорящее сообщество
Danila
Писать нужно так, чтобы это в первую очередь коммуницировало с людьми, которые этот код читают и поддерживают, для этого языки и придуманы, если бы язык был не для людей, а для компьютеров - мы бы до сих пор пробивали бы дырки в перфокартах
Вопрос теории и я не виду ничего плохого чтобы знать устройства инструментов, которыми пользуемся.
источник

D

Danila in JavaScript — русскоговорящее сообщество
Вася
Вопрос теории и я не виду ничего плохого чтобы знать устройства инструментов, которыми пользуемся.
Создай бенчмарк на любом из ресурсов для этого сделаных и сравни. Но результаты будут разные от движка к движку и от версии к версии. Я видел, как фор был в 200 раз быстрее форича и видел как форич был быстрее фора, на одних и тех же тестах, с разницей в три версии хрома. Так что если есть желание узнать что быстрее именно на твоей версии именно твоего браузера - сделай бенчмарк. А устройство можешь в исходниках браузера почитать, и то и то можно оптимизировать, насколько я могу судить
источник

D

Danila in JavaScript — русскоговорящее сообщество
Вася
Вопрос теории и я не виду ничего плохого чтобы знать устройства инструментов, которыми пользуемся.
Устройство инструмента (JS) описано в спеке и там нет указаний о том, что оптимальнее, а браузерный движок не совсем твой инструмент
источник

В

Вася in JavaScript — русскоговорящее сообщество
Danila
Создай бенчмарк на любом из ресурсов для этого сделаных и сравни. Но результаты будут разные от движка к движку и от версии к версии. Я видел, как фор был в 200 раз быстрее форича и видел как форич был быстрее фора, на одних и тех же тестах, с разницей в три версии хрома. Так что если есть желание узнать что быстрее именно на твоей версии именно твоего браузера - сделай бенчмарк. А устройство можешь в исходниках браузера почитать, и то и то можно оптимизировать, насколько я могу судить
Бенчмарк это не теория. Про устройство - придётся смотреть. Надеялся, что кто-то уже изучил этот вопрос и сравнил реализации в разных движках
источник

D

Danila in JavaScript — русскоговорящее сообщество
Вася
Бенчмарк это не теория. Про устройство - придётся смотреть. Надеялся, что кто-то уже изучил этот вопрос и сравнил реализации в разных движках
Тебе придётся не просто смотреть, тебе придётся стать разрабом всех браузеров чтобы следить за всеми изменениями
источник

D

Danila in JavaScript — русскоговорящее сообщество
Наглядный пример - https://jsben.ch/m3Gqf
источник

В

Вася in JavaScript — русскоговорящее сообщество
Danila
Тебе придётся не просто смотреть, тебе придётся стать разрабом всех браузеров чтобы следить за всеми изменениями
Ты думаешь, что работа в этой части движка активно меняется? Быстрый поиск по v8 показал, что они принципы работы с памятью не меняли. Да и внести изменения в данную логику сравнимо с написанием нового движка
источник

D

Danila in JavaScript — русскоговорящее сообщество
Полгода назад кэшированая версия была быстрее не-кэшированой
источник

D

Danila in JavaScript — русскоговорящее сообщество
Теперь наоборот
источник

D

Danila in JavaScript — русскоговорящее сообщество
При этом форич быстрее кэшированой
источник

В

Вася in JavaScript — русскоговорящее сообщество
Danila
Полгода назад кэшированая версия была быстрее не-кэшированой
Спасибо
источник

D

Danila in JavaScript — русскоговорящее сообщество
Какой смысл обо всём этом говорить
источник

ВЛ

Вадим Лукьянцев... in JavaScript — русскоговорящее сообщество
Привет всем почему preventDefault не срабатывает?
источник

ВЛ

Вадим Лукьянцев... in JavaScript — русскоговорящее сообщество
источник

cN

cobrascript Niko in JavaScript — русскоговорящее сообщество
Потому что это функция а не событие event
источник

ВЛ

Вадим Лукьянцев... in JavaScript — русскоговорящее сообщество
так тоже не работает как правильно написать
источник

ВЛ

Вадим Лукьянцев... in JavaScript — русскоговорящее сообщество
?
источник