171 похожих чатов

Есть у микрософт-офиса такая фишка - установка по требованию, т.е вам

не надо ставить все, если 80% не надо, то это никогда не поставится-экономия времени и памяти,
и скорость выше. Так вот идея оттуда. Надо сделать менеджер фреймворка/либы- допустим есть FW
700кб с 50 функции и переменных, 50-90% вам никогда не надо, так зачем грузить его весь???
Но просто так найти ненужные и удалить задача нереальная - какие-то могут использоваться
каскадно и по условиям и редко, лучше не рисковать, а то вылезет неожиданный глюк из-за того
что удалили нужное.

Менеджеру на питоне/пхп/ноде даем этот FW- он вытаскивает все ф-ии оттуда и помещает в отдельные
файлы- имя_FW_имя_ф-ии, сжимает их походу, плюс делает скрипт на js - имя_FW_loader.js
в HTML его будем вызывать вместо обычного. Что этот лоадер делает.
У него есть эти все переменные и функции но с заглушками - если ф-я не определена выше, не
важно где и кем, то определяет, но вместо тела - загрузчик файла и выполнение-делается через
createElement('script').src= но на самом деле это тоже ф-я- загрузить+исполнить+обработать
ошибки-нет-файла-неполный-таймаут. и по окончании вызвать калбек. Есть у меня уже такая.

Также ведется статистика в локалсторе - какие ф-ии использованы. потом можно погонять в
осн. режимах выяснить какие часто вызываются и слить их в один файл чтобы меньше запросов
было, а остальные будут также загружаться при первом вызове. Этот файл-FW_mini.js загружать
через defer а потом уже имя_FW_loader.js - он на уже определенные ф-и заглушки ставить не будет.

Вобщем идея сыровата, но думаю принцип понятен- грузим не весь, а часть, остальное по
первому требованию. В итоге быстрее, памяти меньше надо будет, но надо проверить.
Еще можно засунуть в PNG там сжато zip сразу и размер меньше в 2-5 раз, потом
через канвас вытащить код и исполнить, кстати там можно не только скрипты хранить,
а вообще весь сайт :) Такой скрипт у меня тоже есть, но это как бы код не открытый,
смотреть и править надо спец прогами и засовывать туда тоже не просто.

2 ответов

17 просмотров

эээ.... Модули? https://learn.javascript.ru/modules

это все уже реализовано в webpack, он досточно хитер и умеет такое делать, если его правильно сконфигурировать, но это упирается в один малоприятный файт - бекенд и фронтенд должны быть на js (nodejs), иначе эффективность подобного подхода резко падает из-за невозможности нормально отследить стеки вызовов функций

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
15
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта