'What Chromium does on startup with all installed extensions?
If I have a 3k installed extensions, Chromium starts a several minutes on
Celeron with 1.5 GB RAM (I know this hardware is sucks).
Also, when I click to run one of the installed extensions, a response is
also very slow (about 10 seconds before extension actually has run). The
same extension starts for 1 second if I have 20-30 installed extensions.'
Думаю, что у Эрона Будмана сейчас отвалятся уши.
Comments:
- Denis Gabaydulin, 2012-10-02T07:34:44.669Z
My English is poor, I know. But what about the problem? How can we improve speed of startup of an application? It is possible for us remove any expensive or complex checks on startup, because our apps only from secure source.
- Henry Flower, 2012-10-02T11:25:44.271Z
да при чем тут английский. меня поразило число.
по теме: думаю, никак не улучшить. и без знания внутренностей конкретных extensions невозможно делать прогнозы.
скажем, если 3k имеют bg pages, это 3k отдельных процесса, за которыми хром должен следить. если в них таймеры, все еще хуже. если они посылают сообщения друг-другу,-.
(btw, а это точно хром, а не системный шедулер? как себя ведет ОС от нескольких тысяч форков, где родитель каждые 10 с спрашивает каждый форк что-то простое, например, аптайм?) - Denis Gabaydulin, 2012-10-02T11:31:00.835Z
Нет. Все приложения не имеют bg pages, кроме одного. Одновременно работают только два приложения. Одно в bg и одно обычное.
Мы убрали bg приложение и взяли сборку chromium с сайта. Сделали 3к совсем простых приложений (1 html page, 1 js file and 1 css file) и пока добились скорости в 3 секунды! Но это все еще долго, нам нужна секунда. Сейчас пробуем сделать profiling (chrome очень долго собирается) и затем попробуем поискать чего мы можем отключить еще внутри. - Denis Gabaydulin, 2012-10-02T11:35:02.641Z
То есть мы не решаем проблему одновременно работающих 3к приложений, мы решаем проблему запуска приложения, если установлено (не запущено) 3к приложений. Это разные вещи!
- Henry Flower, 2012-10-02T12:06:43.664Z
ясно.
а если заменить генерацию id из публичного ключа на простой счетчик, что-то меняется? - Denis Gabaydulin, 2012-10-02T12:16:17.761Z
Не совсем понял, о чем идет речь. Вы имеете в виду реализацию этого механизма в chromium?
У нас 3к приложений, у них в манифестах уникальные ключи, которые были присвоены им при сборке CRX. - Henry Flower, 2012-10-02T12:33:15.590Z
да, внутри хрома.
тот ведь вычисляет id каждого extension из sha256 публичной части ключа. уникальный id конечно нужен, но его генерацию можно написать без привлечения ключей (тогда они не нужны вообще)--в теории это будет быстрее. - Henry Flower, 2012-10-02T12:38:02.757Z
хотя нет, забудьте, это я с прямым углом перепутал. при установке, id уже вычислен.
- Denis Gabaydulin, 2012-10-02T14:35:12.055Z
В debug_log мы видим, что почти три секунды проходит между:
chromoting_instance.cc(652)] Registering global log handler
и automation_tab_helper.cc(74)] Received DidStartLoading while loading already started.
Permalink: https://plus.google.com/115290581164606462017/posts/1Rxs81NT7tR