The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Разработчики Firefox обозначили цели перехода на новую многопроцессную архитектуру

19.07.2011 17:00

Один из разработчиков Mozilla сообщил о возобновлении работ, связанных с проектом Electrolysis, в рамках которого запланирован перевод Firefox на многопроцессную архитектуру, при которой пользовательский интерфейс и обработка контента будут обрабатываться разными процессами. Кроме того, рассматривается возможность использования многопроцессной модели для обеспечения полной изоляции отдельных вкладок, виджетов, групп вкладок и страниц одного домена.

Часть наработок проекта уже интегрирована в Firefox 4 и используется для выполнения плагинов в отдельных процессах. Кроме того, в Mobile Firefox 4.0 для платформы Android уже задействован механизм обработки вкладок разными процессами. Отмечается, что процесс перехода на многопроцессную модель достаточно сложен и длителен, новая архитектура будет внедряться постепенно. Конкретные сроки не указаны, но с учетом 16-недельного цикла подготовки релизов, новые наработки можно будет увидеть не раньше, чем в версии Firefox 8. По заявлению разработчиков Mozilla, каждый новый релиз Firefox будет быстрее и стабильнее, интерфейс станет более отзывчивым.

В качестве основных факторов, рассматриваемых при планировании перехода к многопроцессной архитектуре, называются:

  • Производительность. Ключевым достоинством разделения подсистем обработки контента и формирования интерфейса пользователя является повышение отзывчивости бразуера, т.е. повышение скорости реакции на действия пользователя и исключение "подвисаний". В настоящее время разработчики стараются обеспечить в основном цикле обработки событий однопроцессной модели вызов обработчика пользовательского интерфейса не реже, чем раз в 50 мс. Но несмотря на это пользователи все равно сталкиваются с проблемами с интерактивностью, так как однопроцессная архитектура подразумевает использование общей кучи и сборщика мусора, т.е. используется одно хранилище для данных пользовательского интерфейса и всех обрабатываемых страниц.

    В конечном итоге наблюдается увеличение фрагментации хранилища и время поиска сборщиком мусора неиспользуемых объектов. Во время работы сборщика мусора основной цикл обработки событий приостанавливается и наблюдается замедление реакции на действия пользователя, вплоть до секундных подвисаний. В Firefox 4 предпринято несколько попыток улучшения интерактивности, например, для разных классов объектов в хранилище задействованы отдельные методы сборки мусора, а также уменьшен интервал активации сборщика мусора. Тем не менее, все проблемы не решены, а лишь найдены временные обходные пути для определенных ситуаций. Например, проблемы с интерактивностью продолжают наблюдаться при очистке памяти после работы больших web-приложений.

  • Оптимизация для многоядерных процессоров. В текущем виде для обработки всех страниц и интерфейса пользователя используется только одно ядро CPU, все остальные ядра простаивают и не участвуют в обеспечении работы браузера (за исключением ситуаций с выполнением плагинов). Несмотря на попытки использования многопоточности и вынос за пределы основного цикла обработки событий выполнения таких операций, как декодирование изображений, видео и звука, осуществление сетевых операций и ввода/вывода, по прежнему остаются однопоточными подсистема DOM (Document Object Model), функции формирования содержимого окна, парсинг HTML и выполнение JavaScript, т.е. для обработки контента может быть задействовано только одно ядро CPU.

    Самым простым выходом из сложившейся ситуации является реализация возможности запуска нескольких DOM-обработчиков в виде отдельных процессов, которые смогут работать параллельно не мешая друг другу. Одновременно развивается альтернативный проект, поддержка многопоточной работы DOM-подсистемы в котором будет обеспечена путем переписывания кода на языке Rust, напоминающем C++, но поддерживающем автоматическое управление памятью и выполнение задач в виде легковесных сопрограмм.

  • Предсказуемое потребление памяти. Значительными проблемами в Firefox остаются: большая фрагментация памяти, трудности с перераспределением памяти, невозможность отдачи уже полученной от ОС памяти и утечки памяти. Данные проблемы не являются специфичными для Firefox и неизбежно возникают у любого длительно работающего процесса, интенсивно манипулирующего блоками памяти. В случае выделения памяти разного размера со временем растет фрагментация и остается все больше небольших "дыр" от ранее освобожденных объектов, которые располагаются вперемешку с занятыми блоками памяти. В ситуации запроса памяти для размещения нового объекта, часто приходится запрашивать новые блоки у операционной системы, несмотря на наличие достаточно большого числа свободных областей во внутренней "куче", размер которых по отдельности меньше запрошенного блока.

    В случае обработки web-страниц разными процессами занятые процессом блоки памяти после завершения процесса полностью отдаются обратно операционной системе, а не остаются в "резерве", закрепленными за одним процессом в надежде, что эта память понадобится в будущем. Таким образом, обработка каждой вкладки отдельным процессом может привести к заметной экономии памяти (общие данные между процессами не дублируются, через мапинг используется только одна копия) и избавлению от проблемы с постоянным ростом размера процесса.

  • Защита от сбоев. Очевидно, что в случае выхода за пределы допустимой границы буфера или при возникновении другой внештатной ситуации при использовании однопроцессной модели обработки, крах процесса приведет к закрытию всех окон и вкладок. При обработке каждой страницы отдельным процессом, в случае сбоя закроется лишь одна вкладка, не повлияв на работоспособность браузера в целом. Кроме того, такой подход даст возможность упростить диагностику причины краха и позволит точно видеть какой сайт и какая операция привела к проблеме. В частности, уже реализованная технология выноса плагинов в отдельные процессы позволила заметно увеличить надежность работы, например, крах Flash-плагина больше не отражается на работе браузера.
  • Повышение безопасности. Обработка каждого сайта отдельным процессом позволяет изолировать связанный с ним код от обработчиков других сайтов и кода, обеспечивающего работу интерфейса, которые в случае выполнения разными процессами не могут пересекаться. Современные операционные системы позволяют перевести процесс в "режим пониженных прав", при котором блокируется доступ к большому числу системных ресурсов. В случае эксплуатации уязвимости в таком процессе, код злоумышленника будет ограничен в своих возможностях и не сможет выйти за пределы "песочницы". Для совершения атаки в подобных ситуациях требуется эксплуатация еще одной уязвимости в более привилегированном управляющем процессе. Практика браузера Chrome показывает, что за всю историю существования проекта было обнаружено лишь несколько уязвимостей, позволяющих обойти многоуровневую защиту.


  1. Главная ссылка к новости (http://blog.mozilla.com/produc...)
  2. OpenNews: Разработчики Mozilla начали перевод Firefox на многопроцессную архитектуру
  3. OpenNews: Разработчики Mozilla работают над реализацией многопоточного рендеринга web-страниц
  4. OpenNews: Разработчики Mozilla представили технологию изолированного выполнения плагинов
  5. OpenNews: В Jetpack 0.9 появилась поддержка изолированного выполнения расширений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/31227-mozilla
Ключевые слова: mozilla, firefox, web, Electrolysis, limit
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (72) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, kuka2010 (ok), 17:19, 19/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Да неужели... Возобновлили они. ВОЗОБНОВИЛИ! А какого, спрашивается, они его останавливали то? У этого проекта должен быть высший приоритет, они ночами спать не должны, а Electrolysis развивать. У Firefox и так сейчас самый тормозной интерфейс, а они только раскачиваться начали...
     
     
  • 2.3, Аноно (?), 17:25, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Они никому ничего не должны.
     
     
  • 3.4, kuka2010 (ok), 17:29, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну да, конечно. А пользователи просто мимо проходят. Лис уже несколько месяцев стабильно долю теряет, не нужно быть экстрасенсом, чтобы понять почему. А они BrowserID и прочую чушь изобретают.
     
     
  • 4.5, kuka2010 (ok), 17:30, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Пруфлинк http://gs.statcounter.com/
     
     
  • 5.7, Аноно (?), 17:43, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это уже другой вопрос, возможно, так и запланировано.
     
     
  • 6.8, kuka2010 (ok), 17:46, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то не врубаюсь я в этот хитрый план. Не поясните? Может в таком случае лучше сразу свернуть проект, закрыть разработку?
     
     
  • 7.10, Eugeni Dodonov (ok), 18:10, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    "Just for fun" никто не отменял. Ну неинтересно разработчикам это делать, вот и не делают.
     
     
  • 8.11, kuka2010 (ok), 18:17, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Зашибись логика Только вот такой продукт тогда вообще людям показывать нельзя, ... текст свёрнут, показать
     
     
  • 9.13, Xasd (ok), 18:19, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а ктоже это людей ПИНКАМИ на www getfirefox com загонет люди сами заходят и ска... текст свёрнут, показать
     
     
  • 10.18, kuka2010 (ok), 18:31, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Эти господа весьма активно рекламируют свой продукт Были бы средства как у гугл... текст свёрнут, показать
     
     
  • 11.20, ваноним (?), 18:37, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    много думаете шли бы лучше свой браузер писать... текст свёрнут, показать
     
     
  • 12.21, kuka2010 (ok), 18:41, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А по вашему пользователь думать вообще не должен С какого перепугу я должен что... текст свёрнут, показать
     
     
  • 13.24, ваноним (?), 18:49, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    не так много хотите - значит вам не так много денег нужно перечислить разработчи... текст свёрнут, показать
     
  • 13.44, bumz (?), 21:03, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    угомонись, истеричка возьми скачай альфа-лису и окажи людям помощь - потести htt... текст свёрнут, показать
     
     
  • 14.62, kuka2010 (ok), 13:15, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уже второй год на исключительно на альфах и сижу ... текст свёрнут, показать
     
     
  • 15.67, ваноним (?), 14:44, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    переходи на ночные сборки ... текст свёрнут, показать
     
     
  • 16.69, kuka2010 (ok), 15:25, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Собственно я их и имею в виду В новом цикле разработки nightly обозначаются как... текст свёрнут, показать
     
     
  • 17.76, bumz (?), 13:25, 22/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    заметно что на них ты и сидишь название хоть ночных сборок в гугле нашел ... текст свёрнут, показать
     
  • 11.25, Xasd (ok), 18:50, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    думаю те инженеры которые занимаются BrowserID -- НЕ занимаются оптимизацией пам... большой текст свёрнут, показать
     
     
  • 12.28, kuka2010 (ok), 18:58, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Есть третий вариант Увольняем разработчиков BrowserID, на освободившиеся средст... текст свёрнут, показать
     
     
  • 13.30, Eugeni Dodonov (ok), 19:02, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Увольняем откуда, простите ... текст свёрнут, показать
     
     
  • 14.35, kuka2010 (ok), 19:20, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Из Mozilla Corporation, или где там они работают ... текст свёрнут, показать
     
     
  • 15.45, bumz (?), 21:06, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а кто ты такой что будешь увольнять людей ... текст свёрнут, показать
     
     
  • 16.63, kuka2010 (ok), 13:16, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Лично я никого увольнять не буду... текст свёрнут, показать
     
     
  • 17.68, ваноним (?), 14:47, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    так говоришь, кагбудто мог ... текст свёрнут, показать
     
  • 12.77, anonymous (??), 02:45, 24/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    171 пологаясь 187 my ass а то, что ты ни разу не знаешь, ни как работает о... текст свёрнут, показать
     
  • 11.72, Michael Shigorin (ok), 16:59, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Спрошу как менеджер менеджера у Вас-то что сейчас в приоритете ныряя опять ... текст свёрнут, показать
     
  • 9.23, meequz (ok), 18:43, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    понаехало юзеров с проприетарщины Это опен сорс, абсолютли ноу ворранти Бегите... текст свёрнут, показать
     
     
  • 10.27, kuka2010 (ok), 18:51, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Не хочу я от него бежать Он мне нравится своей настраиваемостью, не могу я уже ... текст свёрнут, показать
     
     
  • 11.31, ваноним (?), 19:02, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не хочу, не могу, не нравится красна девица деньги разработчикам уже перевел ... текст свёрнут, показать
     
     
  • 12.33, kuka2010 (ok), 19:12, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    При чем тут мои деньги Я должен заплатить им, чтобы они сделали нормальный прод... текст свёрнут, показать
     
     
  • 13.61, Аноно (?), 12:51, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    При том, что тратить личное время разработчики за бесплатно не всегда хотят А т... текст свёрнут, показать
     
  • 11.32, Аноним (-), 19:09, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А что лично ты сделал для того, чтобы ускорить интерфейс фаерфокса ... текст свёрнут, показать
     
     
  • 12.34, kuka2010 (ok), 19:15, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что я могу сделать Электролиз за них написать Так я не программист Если зна... текст свёрнут, показать
     
     
  • 13.37, ваноним (?), 19:36, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    т е сам ничего не сделал, деньги разработчикам зажал, а они, стало быть, должны... текст свёрнут, показать
     
  • 13.55, anonymous (??), 02:52, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ты какбе можешь пересесть на быстрый ие9, сафари или хром или найти денег и нан... текст свёрнут, показать
     
  • 13.75, BigHo (?), 18:40, 21/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Непрограммисты больше всего клок волос и вырывают ... текст свёрнут, показать
     
  • 9.60, Аноно (?), 12:47, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Людям можно показывать все, что угодно Их и не было никогда ... текст свёрнут, показать
     
  • 5.12, Xasd (ok), 18:18, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Пруфлинк http://gs.statcounter.com/

    это откудаже такие говноданные? доля IE больше 43% ???!! да не смешите мои тапочки, IE плятётся на уровне 20% :-D

     
     
  • 6.38, ваноним (?), 19:40, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не иначе как статистика M$.com
     
  • 6.43, szh (ok), 20:20, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ты даже не осилил внимательно прочитать ссылку которую цитируешь. Ниже картинки глаза не осилил опустить ?
     
  • 5.14, Xasd (ok), 18:21, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Пруфлинк http://gs.statcounter.com/

    http://gs.statcounter.com/#browser-CN-monthly-201006-201106

     
     
  • 6.15, kuka2010 (ok), 18:23, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    И даже тут доля фф упала...
     
  • 3.57, Inine (ok), 11:16, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Себе должны. Если не хотят оказаться в хвосте и похерить свой долгий труд, то игнорировать такие вещи уж точно не стоит.
     
  • 2.48, Аноним (-), 23:44, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > У этого проекта должен быть высший приоритет

    Поддерживаю. Это же очевидно. А зачем минусуют? Неужели никому непонятно?

     
  • 2.50, szh (ok), 00:26, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > У этого проекта должен быть высший приоритет, они ночами спать не должны, а Electrolysis развивать. У Firefox и так сейчас самый тормозной интерфейс, а они только раскачиваться начали...

    Что-то я не уверен что он будет быстрее при 50 процессах на 50 табах. Хватило бы 1 отдельного процесса для основного интерфейса для отзывчивости. Хорошо что притормозили в общем.

     
  • 2.73, lucentcode (ok), 21:31, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вот-вот, из-за их промедления в данном вопросе я пишу это сообщение не из Firefox, а из Chrome.
     

  • 1.2, GHhost (?), 17:24, 19/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Предсказуемое потребление памяти. Ключевыми проблемами Firefox остается большая фрагментация памяти, трудности с перераспределением памяти, невозможность отдачи уже полученной от ОС памяти, утечки памяти. Данные проблемы не являются специфичными для Firefox и неизбежно возникают у любого длительно работающего процесса, интенсивно манипулирующего блоками памяти.

    тоесть по их логике течет абсолютно все?:)

     
     
  • 2.6, Аноним (-), 17:42, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Утечка памяти != фрагментация памяти. Фрагментированную память можно дефрагментировать. А утечка есть утечка, это занятая память. Короче, читай про динамическое распределение памяти, кучу, стек и т.д., потом пиши сюда комменты
     
     
  • 3.9, Аноним (-), 17:58, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А никто утечки с фрагментациями и не ровнял. Утечек тоже избежать можно, путём правильной приоритезации процессов и верным динамическим распределением/балансировкой памяти приложений. И делать это можно не только на уровне системного планировщика, но и на уровне самого приложения, вводя квоты/лимиты потребления и операции высвобождения памяти в процессе его работы.
     
     
  • 4.17, Xasd (ok), 18:28, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Утечек тоже избежать можно, путём правильной приоритезации процессов и верным динамическим распределением/балансировкой ..blahblahblah

    <утечки-памяти> -- это <ошибки> инженеров .. причём БАНАЛЬНЫЕ ошибки (граничащие вообще с опечатками), а не ошибки неправильной архитектуры

    [например инженер может создать (банально опечатавшись) внутри структуры-цыклической-природы -- СИЛЬНУЮ ссылку вместо СЛАБОЙ.. и тем-самым получить неудаляемуй объект, в определённых условиях]

    о каких ещё планировщиках вы говорите? :-)

    избежать утечек памяти -- можно.. да... нужно "всеголишь" допускать меньше ошибок (не допускать ошибок при работе с ресурсами/памятью) :-)

    а <фрагментация-памяти> -- это НЕ <ошибки> инженеров

     
     
  • 5.22, Pilat (ok), 18:42, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > а <фрагментация-памяти> -- это НЕ <ошибки> инженеров

    Это ошибка программистов. Получил блок памяти на таб, использовал, закрыл таб, отдал память. Места для утечки и фрагментации нет. Почему так не работает?

     
     
  • 6.26, Eugeni Dodonov (ok), 18:50, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> а <фрагментация-памяти> -- это НЕ <ошибки> инженеров
    > Это ошибка программистов. Получил блок памяти на таб, использовал, закрыл таб, отдал
    > память. Места для утечки и фрагментации нет. Почему так не работает?

    Не все так просто, когда память выделяется динамически и блоками фрагментация неизбежна. Но собственно в найтли версии это уже исправили.

     
     
  • 7.40, ывв (?), 20:00, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    что исправили? фрагментацию? так она неисправима, как и баги в программах
     
     
  • 8.42, Eugeni Dodonov (ok), 20:11, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    метод выделения блоков памяти и их сортировку ... текст свёрнут, показать
     
  • 7.52, Crazy Alex (??), 00:52, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    И что им мешает арены какие-нибудь для вкладок использовать? Нет, надо наваять GC. Как будто нет опыта его использования и никтоне знает, как неэффективно системы с GC (тем более самопальным в плюсах) используют память.
     
  • 2.65, анонимусс (?), 14:13, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>Данные проблемы не являются специфичными для Firefox и неизбежно возникают у любого длительно работающего процесса, интенсивно манипулирующего блоками памяти

    SCADA системы годами работают без перезагрузок, и ничего. Всё дело в руках.

     

  • 1.16, anonymous (??), 18:27, 19/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Неужели я дождусь быстрого лиса! А то уже как полгода на хром перешел. Тянет обратно, но как только попользуюсь, понимаю, что уже привык к скорости.
     
     
  • 2.19, kuka2010 (ok), 18:35, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    ИМХО, долго ждать придется. Они уже года 2 назад рассказывали, как хорошо будет жить простому юзеру под многопоточным фоксом. Думаю, при лучшем раскладе, раньше какого-нибудь firefox 15 мы электролиз не увидим. Хотя отрисовку Direct2D в процесс уже в 8 версии обещают (сначала обещали в 7, не факт, что не перенесут на 9)
     
     
  • 3.41, ывв (?), 20:01, 19/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    какую еще отрисовку?
     
     
  • 4.70, kuka2010 (ok), 15:27, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    https://wiki.mozilla.org/Platform/Features/ElectrolysisTextureSharing
     
  • 3.54, anonymous (??), 02:27, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что ещё за direct2d ? O_o
     

  • 1.29, pro100master (ok), 18:59, 19/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    сейчас подвисает одно ядро, добьёмся, чтобы подвисали все!
     
  • 1.49, Всегда Ваш Капитан. (?), 23:47, 19/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Всем сразу не угодишь - либо долгий плавный переход с кучей legacy к новой архитектуре, либо резкий скачок к новой архитектуре. И в том, и в том случае потеря N пользователей.
    На момент появления FF ситуация была другой, многоядерность не была главной тенденцией и многопроцессность не давала столько преимуществ. А Chrome появился недавно, уже в эту эпоху и сразу был спроектирован под текущую ситуацию.
    Время покажет кто быстрее - Mozilla сменит ахрхитектуру FF или Google наберёт пользовательскую базу и базу разработчиков расширений Chrome.
     
     
  • 2.66, Зеленявка (?), 14:16, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >И в том, и в том случае потеря N пользователей.

    Неправильно. В одном случае потеря N пользователей, в другом M.
    Загадка:
    N ? M

     

  • 1.51, artem.stecenko (ok), 00:33, 20/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А мне вот лично глубоко наплювать чего там и как с архитектурами, реализациями, процентами и т.д.... сижу на Фоксе уже 6 лет, хотя пробывал за это время пользоваться различными другими браузерами (не потому что Фокс не устраивает, а просто - посмотреть дабы). Да - Опера быстрее, и Хром быстрее, и Макстон вебкитовый быстрее... но однако почему-то при всех их плюсах через 1-2 часа работы в них начинает тянуть запустить ОгнеЛис.
    Причем, вот вроде бы все быстрее открывается, интерейс отзывчивее, и расширений куча для того же Хрома, а вот все равно в итоге запускаешь ОгнеЛис и продолжаешь работать в нем.
     
  • 1.56, seleko (?), 08:44, 20/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я чот не понимаю первого абзаца... Смешались в кучу треды-кучи.
    Я так понимаю аффтары мурзилки с ПОТОКАМИ не очень знакомы?
    Если-бы они делали ЮИ в одном потоке, а кучу сгребали в другом -- глядишь и не тормозило-бы.

    А ещё проще -- делали-бы новую кучу каждые ХХ times и когда на старую ссылок не оставалось-бы уничтожали её. Возможен вариант с копированием в новую кучу, если данных достаточно мало.
    В упор не понимаю зачем многопроцессность, если есть треды.

     
     
  • 2.58, fork (??), 12:15, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    В статье же написано зачем. Если у вас есть опыт разработки програмных комплексов, то станет понятно, что весь функционал складывать в один процесс потоками - опасно и для безопасности программы(глюк в одном, а падает весь функционал, общее адресное пространство), отладки, скорости, и т. д. Да и реализация тредов разная везде.
     
  • 2.59, szh (ok), 12:16, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    по ссылке инфо подробнее, включая обсуждение в комментариях.

    > Я так понимаю аффтары мурзилки с ПОТОКАМИ не очень знакомы?

    Ах моська, знать она не глупа раз лает на ...

     

  • 1.64, dimss (?), 14:06, 20/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Многопроцессность имеет еще одно преимущество перед многопоточностью: продление жизни 32-битных архитектур. Сегодня многие приложения (особенно написанные на C++) уже упираются в лимит 32-битной виртуальной адресации. Разнеся функциональность по нескольким адресным пространствам в примерно равных пропорциях, остроту проблемы можно снизить в несколько раз, не меняя логику распределения памяти в программе.
     
     
  • 2.71, seleko (?), 15:45, 20/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Многопроцессность имеет еще одно преимущество перед многопоточностью: продление жизни
    > 32-битных архитектур.

    Да кому они сча упёрлись. Эти 32 бита. У тех у кого 32 всё равно памяти не хватит чтобы несколько процессов Мурзилки выдержать :)

     
     
  • 3.79, anonymous (??), 02:51, 24/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    да и на один-то не особо. потому что точка монтирования рук у разработчиков того… несколько ниже, чем требуется.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру