В Firefox будет добавлено распараллеливание на процессы | ||
SoftWare | ||
... |
Сотрудник Mozilla, старший разработчик XULRunner Бенджамин Смедберг (Benjamin Smedberg) у себя в блоге рассказал о создании рабочей группы, которая занимается добавлением в обозреватель Firefox возможности обработки страниц и другого содержимого несколькими процессами одновременно. Такой подход, по мнению разработчика, позволит улучшить сразу три характеристики обозревателя:s
- Стабильность: в случае, если подключаемый модуль или элемент страницы попытается полностью занять процессор или память машины или вызовет критическую ошибку, процесс изолирует эти события от всего остального;
- Производительность: деление задач на несколько процессов позволит использовать преимущества многоядерных процессоров, устанавливаемых на большинство современных настольных и переносных устройств, а также повысит «отзывчивость» интерфейса во время продолжительных операций по обработке страниц;
- Безопасность: выполняя работу в процессах с пониженными правами, обозреватель изолирует активное содержимое сайтов от системы пользователя.
Состав группы и план разработки открыты желающим на странице в вики. Смедберг назвал четыре этапа:s
- Написание в максимально короткие сроки основного кода и достижение работоспособности с тестовыми модулями и страницами;
- Восстановление нарушенных в ходе первого этапа других функций обозревателя: работы с общим доступом, навигации, контекстных меню, операций переключения фокуса и перетаскивания объектов. Эта задача может выполняться большим числом разработчиков.
- Измерение производительности; исправление совместимости с дополнениями, насколько это возможно.
- Выпуск очередной версии Firefox.
В данный момент первый этап уже пройден наполовину. На сайте Mozilla размещен демонстрационный видеоролик. Для тех, кого интересует возможность содействия разработке, организован канал #content на irc.mozilla.org, где можно обсудить технические вопросы, касающиеся нововведения, и группа новостей mozilla.dev.tech.dom, которая поможет ослеживать важные изменения в ходе разработки.