В комменты опять пришел человек, запуганный JavaScript. Я сокрушался, что в JS нет нормального синхронного персистентного хранилища (localStorage маленький, IndexedDB асинхронный), на что мне заметили: но там же большие данные можно хранить, мегабайты.
Целые мегабайты, представляете? В представлениях JavaScript-еров это какие-то особенно большие объемы, потому что в JS все привыкли что все крайне медленно и далеко от реальной производительности компьютера.
Но давайте посчитаем. Macbook SSD показывает 2.8 Гб/с на чтения файла в 4 Mb, ~23 Мб на один 120 Hz кадр. Каждый кадр можно читать с диска 23 Мб новых данных и НИКТО не заметит, можно делать это на UI треде и еще анимации плавные успевать крутить.
А если на количество обращений оптимизировать, то например можно читать по 256 Кб, будет 4000 чтений в секунду, или 33 чтения за кадр. Это очень интерактивные скорости, нафига там асинхронщина?
Да, я тоже помню времена, когда в компьютерах стояли магнитные hdd-диски. Шуршит — значит думает. Взял ноут со стола — все диски запарковались, все встало на паузу. Но даже я, дед, готов уже признать, что эти времена давно прошли.
Но как же, ведь диск может быть занят другими программами — говорят мне. А что, CPU/память занята быть не может?
И смешно, и грустно, как мы страдаем в этой самой песочнице браузерной, решая проблемы производительности, над которыми пятнадцать лет назад уже любой нормальный десктоп-разработчик посмеялся бы и счел тривиальными.
Если для вас компьютеры == то, что может браузер, у меня для вас плохие новости — вы отстали от реальных возможностей ПК лет на десять. Не то чтобы на десктопе все прям выжимают компы на 110%, но по крайней мере тебе ничто там не мешает, если захочется.
А браузер — это непрерывная борьба, потому что без борьбы человек не может. Даже если это борьба с гирями, которые он сам себе к ногам привязал.
Post #316
8.94K
- 👍 101
- 👎 17
- 😁 10
- 💩 4
- ❤ 3
- 😢 2
- 🔥 1
- 🤩 1
- 🤮 1