В ночных сборках Firefox включена (https://www.soeren-hentzschel.at/mozilla/firefox/2014/11/07/.../) по умолчанию поддержка многопроцессного режима, обеспечивающего обработку интерфейса и контента каждой вкладки в отдельных процессах. Подобный подход позволяет (http://www.opennet.me/opennews/art.shtml?num=40193) увеличить безопасность, повысить надёжность, оптимизировать высвобождение системе неиспользуемой памяти и заметно ускорить работу браузера на многоядерных системах за счёт организации параллельного выполнения неблокирующих друг друга операций.
Дополнительно можно отметить несколько тестов производительности, демонстрирующих успехи в развитии технологий Mozilla. Представлен (https://hacks.mozilla.org/2014/11/massive-the-asm-js-benchmark/) первый публичный выпуск тестового пакета Massive (https://github.com/kripken/Massive), разработчики которого постарались сформировать набор тестов производительности, соответствующих сценариям реального применения технологии Asm.js. В частности, оценивается производительность в браузере преобазованного в JavaScript кода проектов Poppler, SQLite, Lua и Box2D. Результаты тестирования разных версий Firefox показали, что за два года производительность Asm.js возросла в 6 раз.<center><a href="https://hacks.mozilla.org/wp-content/uploads/2014/09/massive... src="http://www.opennet.me/opennews/pics_base/0_1415646848.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
Кроме того, доступны (http://forums.mozillazine.org/viewtopic.php?f=23&t=2886713) результаты тестирования производительности экспериментального браузерного движка Servo (https://github.com/servo/servo/), развиваемого проектом Mozilla в сотрудничестве с компанией Samsung. Движок написан (https://github.com/servo/servo/) на языке Rust и отличается поддержкой многопоточного рендеринга web-страниц, а также распараллеливанием операций с DOM (Document Object Model). Текущий браузерный движок Firefox не может в полной мере задействовать потенциал современных многоядерных систем из-за изначального использования однопоточных схем обработки контента. В частности, при обработке одной страницы однопоточным остается связанный с DOM (Document Object Model) внутренний API, функции формирования содержимого окна, парсинга HTML и выполнения JavaScript. Использование Rust позволяет разбить код DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. Кроме эффективного распараллеливания операций, используемые в Rust технологии безопасного программирования позволяют кардинально поднять уровень безопасности, решив текущие проблемы с безопасностью.
Тестирование производительности Servo подтвердило (http://events.linuxfoundation.org/sites/events/files/slides/...) его значительное превосходство над традиционным движком Gecko, даже при привязке Servo к одному CPU. В следующем году Mozilla не исключает возможность перевода на Servo продуктов Firefox для Android и Firefox OS. Планов по переходу обычного Firefox на Servo пока нет, но в 2015 году ожидается альфа-выпуск экспериментального варианта Firefox на движке Servo. При этом интегрировать Servo в сторонние проекты можно уже сейчас, так как API/ABI в значительной степени стабилизировался.
<center><a href="http://events.linuxfoundation.org/sites/events/files/slides/... src="http://www.opennet.me/opennews/pics_base/0_1415648538.png" style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center><center><a href="http://events.linuxfoundation.org/sites/events/files/slides/... src="http://www.opennet.me/opennews/pics_base/0_1415648509.png" style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>
URL: http://forums.mozillazine.org/viewtopic.php?f=23&t=2886713
Новость: http://www.opennet.me/opennews/art.shtml?num=41033
ну когдауж в релизе отдельные потоки Доколе?
на текущий момент они не торт
при переключении между вкладками можно весьма значительное время наблюдать колечко загрузки вкладки
Будем ждать. Много проблем быстродействия, безопасности и неудобства решиться с нормальной архитектурой.
Мозильщиков могила исправит. Все их мегаконцептуальные сервы на уникальном языке который никак не вылупится и на котором никто кроме мозиллы не пишет и прочие asm.js - полкило Н.Е.Х. В результате они скорее всего продолбут развитие геки и не сделают ничего дельного с своей сервой. В результате рынок скушает хром, где не гоняются за мега-языками и не занимаются костылированием JS.Нормальная архитектура - это например pnacl, где раз уж запуск приложений с нативной скоростью - так уж запуск. Нормальным сишным рантаймом. Без костылирования кода и извращений. А мозильские ушлепанства с asm.js - это ни в п...у, ни в красну армию. И замеры скорости работы этого костыля - ну замечательно, только радости с него...
*ерьмо твой nacl. Don't Starve на нём делали. В итоге закрыли, ибо архитектура не очень оказалась.
> Don't StarveНе знаю что это за фигня, но вижу навалом всякого иного добра на этом и програмеры как-то адаптируют SDL и даже OpenGL игры без диких проблем. И оно работает получше чем большинство глюкалищ на asm.js в мозилле, там вообще технических проблем при попытке так перегнать что-нить на основе SDL - офигеть не встать.
Что еще интереснее - жила была куча asm.js демок. И они все попередохли что-то. По сути дальше громких анонсов и пары PoC дело не пошло. И мозильщики чуть ли не единственные кого их бенчмарки интересуют. Тем временем их рыночная доля тухнет, поскольку без своего костыля у них JS слоупочный, их мегаконцептуальные сервы нафиг никому не уперлись, etc. Если они так продолжат - будут наслаждаться популярностью между Links и Conqueror через десяток лет. Потому что это буллшит.
PDF.js by Mozilla тоже демка?
> PDF.js by Mozilla тоже демка?Да, по крайней мере регулярно не работает :(, идёя хороша конечно но последние пару недель много pdf-ок приходит...
Ну так киньте ссылкой в pdf-ку сформированную чем-нибудь немаргинальным, которая коряво открывается в pdf.js (про печать речь не идет)
> Ну так киньте ссылкой в pdf-ку сформированную чем-нибудь немаргинальным, которая коряво
> открывается в pdf.js (про печать речь не идет)Возможно проблема с ночными сборками, х./з. документы личные, пару дней назад падал ff на доках, сейчас проверил всё что в почте работает, а для печати приходится оперой ( adobe-вским плагином) открывать на работе
Всепропальщики идут на lleo.aha.ru ))
А Фаерфокс будет жить, пока жив хоть один кодер. Это не проприетарная Опера, где по решению руководства можно взять и слить движок росчерком пера.
> Нормальная архитектура - это например pnaclрыдал взахлёб.
да колечко ладно, местами и колечка нет, просто подвисает на неопределённое время.
Поэтому откатился до ESR версии, там пока норм, не успели испортить.
давно. Отдельные потоки там давно
Памяти я так понимаю хана с таким подходом. И несколько сот вкладок выжрут всё что можно.
потребление памяти не особо сильно возрастает (правда я обычно более 20 вкладок не держу)
я не более 100-150
ССЗБ должны страдать и игнорироваться.
почему это? Сотня вкладок - это разве много? или может вы ничего не делаете?Ладно, если даже предположить, что у вас работа организована иначе, это не значит ещё, что все должны быть такими.
Для чего в работе сотня вкладок?
При любом ресерче сколько-нибудь сложной темы выгребается всё, что может быть интересным, а потом последовательно смотрится, пока всё в голове помещается. Несколько десятков вкладок при этом - норма. При этом если отвлекли и пришлось переключиться на другую работу - предыдущая висит открытой, пока к ней не вернёшься. Или когда просто что-то интересное попалось или бросил наполовину прочитанным - тоже удобно оставить вкладку открытой, чтобы видно было, где остановился и чтобы быть уверенным, что интересующий тебя контент останется, а не, к примеру, будет побит модераторм или хозяином блога. Да, можно куда-то сохранять, но "с глаз долой - из сердуа вон" - чего нет в открытых вкладках до того руки дойдут примерно никогда.А если веб-разработка - то десятки открытых разных версий страниц - вообще норма.
Если веб разработка то десятки и сотни открытых страниц причем в разных браузерах. И выжирают они будь здоров но больше всего выжирают cpu тут уж не куда не деться. И если открытые вкладки которые не активны будет жрать меньше cpu хрен с ним с памятью.
>контент останется, а не, к примеру, будет побит модераторм или хозяином блога.Отключили компьютер, пришли на следующий день - контент побит.
>Да, можно куда-то сохранять, но "с глаз долой - из сердуа вон" - чего нет в открытых вкладках до того руки дойдут примерно никогда.Вот и напрасно. Сохраняете всё в сервис read-it-later (Readability, Pocket, Wallabag) и держите открытым его вкладку. Вообще не нужно что-то ещё открывать, всё в одном месте.
Компьютер не выключается месяцами. Сервисами пользоваться не люблю. И надо как раз не "в одном месте", а чтобы глаза мозолило.В любом случае это только один из возможных сценариев. Когда что-то редкое ищешь полсотни вкладок открыть - норма.
Почему многие думают, что они пуп земли и все должно крутиться вокруг них?
> Почему многие думают, что они пуп земли и все должно крутиться вокруг
> них?Действительно, с чего вы взяли что все должно скакать вокруг таких как вы?
> Вот и напрасно. Сохраняете всё в сервис read-it-later (Readability, Pocket, Wallabag)А оно мне надо - какие-то левые сервисы использовать. Мало того что они будут отслеживать что я читаю, так там поди еще и регаться надо и что там еще. Зачем мне весь этот геморрой?
> ... и чтобы быть уверенным, что интересующий тебя контент останется,
> а не, к примеру, будет побит модераторм или хозяином блога.увы фф прибил эту идею, апо крайней мере по умолчанию будьте осторожны
> увы фф прибил эту идею, апо крайней мере по умолчаниюСтранно, вроде режим offline на месте - при этом лис лазит только в кэш и более-менее переживает работу совсем без сети, что хорошо на каком-нибудь нестабильном крапе типа gprs.
На практике, проще снова нагуглить что-то чем вспоминать что это за 100500 вкладок выше. Вкладки быстро теряют актуальность, через какое-то время болтаются мертвым грузом. Нужно просто набраться смесолсти и зкрыть все лишнее. (хотя бы раз в месяц)
Даже в древовидной сайд панели с более чем 100 вкладками трудно разобратся.
> На практике, проще снова нагуглить что-то чем вспоминать что это за 100500
> вкладок выше. Вкладки быстро теряют актуальность, через какое-то время болтаются мертвым
> грузом. Нужно просто набраться смесолсти и зкрыть все лишнее. (хотя бы
> раз в месяц)
> Даже в древовидной сайд панели с более чем 100 вкладками трудно разобратся.У меня к примеру так и происходит, но протухают далеко не все, такой буфер обработки, обычно через несколько дней, когда мысли уже более менее упорядочились, но 100 вкладок тоже для совр. страничек сделанных криворукими дизайнерами не мало
NoScript + RequestPolicy - и браузеру впоне хорошо. Ну и рекламу/трекеры бьёт по площадям заодно.
> NoScript + RequestPolicy - и браузеру впоне хорошо. Ну и рекламу/трекеры бьёт
> по площадям заодно.Не все желают быть принципиальными борцами с идиотами дизайнерами...
> Не все желают быть принципиальными борцами с идиотами дизайнерами...Не все хотят майнить криптовалюты, оплачивая электричество за других и нарываться на внезапные вопли в три часа ночи. NoScript лечит незапрошенную интерактивность и делает веб намного более комфортным местом. Которое не завопит в 3 утра внезапно и не будет грузить проц в полку, молотя какие-то вычисления непрерывно.
Не знаю, никогда проблем со вспоминание не было. И даже древовидноц панели нет - иконок сайтов хватает, чтобы быстро понимать, что где
Особенно просто гуглить когда это был завал из нескольких тысяч спам-ссылок и в середине содержалась страничка на которой отсылка к нужной инфе. Ещё приятно когда гугл подстраиваться под текущий момент и твои потребности. Вначале ссылка была на первых страницах поиска, а через несколько месяцев её уже не видать.
Ну не гуглем единым. Утенка вон тоже добавили в фокс по дефолту (в соседней новости). Хотя не всегда справляется (порой выдает полную чушь), но в 90% запросов помогает. Местами результаты "релевантнее" гугля.
для рабочего проекта, например, минимум 12 вкладок. +5-8 - api\документация используемых платформ. + 3-4 - вчерашняя история, 7-12 - примеры разработки на каких-нибудь новых фреймворках. 6-8 - какие-нибудь особенности текущей платформы и недокументированные фичи языка и так далее. 60 легко набирается. У меня есть знакомый, который вкладки в браузере вообще не закрывает практически и в убогом интерфейсе гуглохромоклонов на каждую вкладку уходит уж действительно 2-3 пикселя. Как человек в таком аде ориентируется - я не представляю. Однако его это вполне устраивает.
> ССЗБ должны страдать и игнорироваться.Да, слушайте, давайте все двери в транспорте делать на рост 150. А кого угораздило быть длиннее - подрихтуем ноги по размеру. Топором. Ведь 640 килобайтов и дверей 150 сантиметров - хватит всем.
У меня около 2000 - 5000 вкладок открыто постоянно. Доходило до миллиона.
ну, у меня гдет-то 2-5 миллионов)
> ну, у меня гдет-то 2-5 миллионов)У меня на кластере 10 миллионов вкладок! Естественно, все нужные.
сейчас вот сосчитал - 500 миллионов где-то есть.
500M, по секунде на каждую - 15 лет непрерывного просмотра =)
> У меня около 2000 - 5000 вкладок открыто постоянно. Доходило до миллиона.А оперативки сколько? Пара десятков терабайтов?
>> У меня около 2000 - 5000 вкладок открыто постоянно. Доходило до миллиона.
> А оперативки сколько? Пара десятков терабайтов?Он вкладки в банки закатывает. Открывает 200 вкладок - рам выжирается полностью, бекапит состояние и открывает еще 200 и т д
А, вот кто у нас будет заменой вебархива. А то говорят что архив роскомцензор побустал.
> я не более 100-150Я больше 50 стараюсь не открывать, особенно если там на некоторых штук по 30 флэш видео и много картинок. Памяти 4 Гб, 4 ядра. Но глючить начинает именно сам фаерфокс, если больше открывать. Может вылететь флэш, может полностью процесс. А пока все заново загрузятся - пару минут пройдет, т.к. страницы грузятся не параллельно, а последовательно.
Несмотря на TreeStyleTab высоты экрана не хватает на ноуте (( Отдельный монитор ставить не хочется, т.к. придется и клаву тогда, и он будет привязан к столу. Вот высоту бы вкладок поменьше сделать... Пикселей 10. И многопроцессного режима жду с нетерпением, чтобы 1 глючный сайт не валил нафиг весь браузер.P. S. нашёл, как сделать вкладки поменьше. В файле ~/.mozilla/firefox/*****profile.default/chrome/userChrome.css надо вписать
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
.tabbrowser-tabs *|tab {
height: 15px !important;
}
А оно вся история развития такая: то памяти меньше расходуют, но проц нагружают. То проц разгрузят, путем отжирания и кеширования в памяти.
На текущий момент уж лучше пусть память жрут. Проц нужнее. Батарейку экономить будет. Память, опять же, дешевле. Всегда можно поставить zram какой нибудь, и т.д.
Для JS-движка очень плохой обмен получается. Был бы это компилированный код - куча его разделялась бы между процессами. Но у файрфокса есть гора JS, который с точки зрения операционки - данные, то есть каждый процесс будет держать свою копию. Собственно, с хромиумом видно, насколько прожорливы получаются браузерные процессы, а это у него еще XUL нет.
> с точки зрения операционки - данныеДля виртуалок вроде бы делают дедубликацию и в памяти и на дисках. Сделают и для процессов когда нибудь.
Это надо, чтобы одинаково внутреннее представление создалось и по страницам памяти легло? Хм, как по мне - маловероятно. Проще на сжатие страниц тогда надеяться. Но как по мне - текущий вариант, с одним процессом предпочтительнее. Максимум - два - интерфейс и содержимое страниц.
> Это надо, чтобы одинаково внутреннее представление создалось и по страницам памяти легло?
> Хм, как по мне - маловероятно. Проще на сжатие страниц тогда
> надеяться. Но как по мне - текущий вариант, с одним процессом
> предпочтительнее. Максимум - два - интерфейс и содержимое страниц.Хм, а если между этими процессами еще сделать четко задокументированный API, рассчитанный на внешние вмешательтства и замену любой из частей на альтернативную реализацию - было бы очень интересно. Хотя, конечно, мозилловцы такого в принципе никогда не сделают.
> Для виртуалок вроде бы делают дедубликацию и в памяти и на дисках.
> Сделают и для процессов когда нибудь.А, так вот почему у меня ядерный процесс перетряхивающий страницы так люто грузит проц, когда я файрфокс запускаю. Вообще-то это работает не только для виртуалок но и для всего остальногою. По этому поводу ядерный процесс истошно жрет процессор при работе лисы...
После десяти вкладок есть повод задуматься а при подходе к сотне - записаться к соответствующему специалисту на обследование.
Какой же специалист будет соответствующим в данной ситуации? Лор?
Ну вот ищу я что-то в поисковике, и бывает, что открываю ощутимое количество вкладок. Или новости смотрю, и открываю интересные мне заголовки во вкладках, чтобы каждый раз не возвращаться. Что здесь такого уж страшного?
Не надо объяснять, все равно не поймут. У них открыто ровно два ресурса - ВК и Опеннетик. За ответами на свои комментарии они либо вообще не следят, сразу закрывая вкладку, либо каждый раз обходят все сайты, которые читают, восстанавливая в памяти всю беседу и на чём закончили, чтобы промотать к нужному месту. Ведь это так просто!
100 вкладок - норма. Те, кто комплексуют, либо вообще не имеют представления как с ними можно удобно управляться, так как всю жизнь проюзали браузеры ориентированные на не сильно умных юзеров. Либо, как вариант, имеют недостаток сантиметров в штанах.
Великолепный комментарий. Сразу чувствуется окрепший, трезвый ум.
> Великолепный комментарий. Сразу чувствуется окрепший, трезвый ум.По форме не корректно, но по сути - всё правильно сказано. Взять к примеру дезигнера, которому надо найти штук 50 картинок и выбрать из них лучшие. Или админа, который ищет железяки у нескольких поставщиков, параллельно почитывает новостные ресурсы, корпоративные, и гугля решения разных интересных задачек.
Про брокеров, блоггеров и хацкеров вообще не говорю ))
Многозадачность - это хорошо. Плохо то, что если раньше работа в онлайн/оффлайн занимала 50/50, то сейчас пройти какую-нибудь игрушку, или почитать книжку удается только в пробке / на Новогодние праздники. И люди совершенно не бэккапят интересные вещи, надеясь что вконтакт с музыкой, рутрекер и ютуб будут работать вечно.
> Памяти я так понимаю хана с таким подходом. И несколько сот вкладок
> выжрут всё что можно.Срочно требуйте возврата денег.
>>оптимизировать высвобождение системе неиспользуемой памятиТо-то хром жрет гигабайты при всего лишь нескольких десятках открытых вкладок.
Радует, что начали думать о производительности, а не фичах и интерфейсе.
Ну, кто тут кукарекал, что новые языки не нужны.
Новые языки в синтаксическом плане мало что приносят. Два три новых оператора, для того чтобы раскидать выполнение по процам, можно в любой другой язык добавить. Вот за движок такой им большая благодарность, но синтаксис зачем велосипедят?
В этом плане конечно какой нить LLVM с кучей языков на одном движке правильно смотрится. Правда движок этот тоже надо пилить и пилить =)
Ну, надо чтобы эта пара операторов ещё легла на остальной язык. Что обычно очень нетривиально. Вон, в том же Rust под это дело налепили совершенно адовую модель памяти - и не думаю, по злому умыслу.
> Новые языки в синтаксическом плане мало что приносят. Два три новых оператора,
> для того чтобы раскидать выполнение по процам, можно в любой другой
> язык добавить. Вот за движок такой им большая благодарность, но синтаксис
> зачем велосипедят?Ойли, вы посмотрите хотя бы доклады из яндекса про Rust. DSL в си++ наклепаем, да и нафига новые стандарты плюсов выходят там ведь только синтаксический сахар все и так уже было в либах. Нахреначим кучу колбэков в коде и будет супер. Только кто потом будет поддерживать это.
как-то Вы незаметно тему с html движка на лелеяние llvm сменили. Че хотел сказать то? Что LLVM классная штука? Не подошла она им, как бы Вам не хотелось...
Да я смотрю в треде одни спецы и знатоки собрались! Rust на llvm построен, если вы не в курсе
Сила не только в двух-трёх новых операторах, в 2-3 оператора это и в цпп11 легко делается. Сила в безопасности - безопасной модели памяти, иммутабельности, строгой системе типов. Раст, он подобен хачкелю - если собралось, значит с большой вероятностью будет работать стабильно.
Как раз система типов там совершенно идиотская. Если у бегемота и шкафа есть вес и цвет - это ещё ни разу не занчит, что бегемотов можно складывать со шкафами. Боксинг - отдельная песня.
Пример такого сложения, которое скомпилируется и приведёт к краху на этапе выполнения, в студию.
Да какая мне разница, вылетит оно по сегфолту или по исключению на нарушение инварианта? По сегфолту даже лучше - быстрее упадёт при ошибке.
Бредите, товарищ. Типы или выводятся компилятором на этапе компиляции или задаются вручную. В любом случае, если оно скомпилялось, то на этапе выполнения что-то "не то" туда не попадёт и результатом что-то "не то" тоже не будет.
Ещё раз. Сунули в функцию фактический параметр, структурно эвивалентный формальному, логически - нет. Есть номинальные типы - получили ругань. Нет номинальных типов - оно это сожрало и имеем баг. Который, понятно, где-то всплывёт. Если повезёт - невыполнением какого-нибудь инварианта или проверки корректности данных, что приведёт к простому и ясному падению. Если не повезёт - к каким-то скрытым проблемам, порче данных и т.п. Нет уж, спасибо - пусть лучше падает пораньше. А лучше - вообще не собирается.
> Два три новых оператора, для того чтобы раскидать выполнение по процам, можно в любой другой языкphp-шники смотрят на тебя с надеждой )))
> Ну, кто тут кукарекал, что новые языки не нужны.Ну так этим Rust только мозилла и пользуется, для создания какого-то недобраузера.
Эта статья в servo
http://imgur.com/rdWHFdc
Где-то месяц назад он просто крашился на опеннете.Лучше всех рендерится один новостной/аналитический ресурс http://imgur.com/rdWHFdc
> один новостной/аналитический ресурспромазал, вот он
http://i.imgur.com/n5ZEv0h.png
Acid2 проходит. Остальное не нужно.
> Acid2 проходит. Остальное не нужно....при условии что вы Мозилла и свое г-но не пахнет :). А так то да, оно даже примитивный опеннет зарендерить не может. Но вы ходите сюда через эту кульную фигню, заодно мы от вас и отдохнем на ближайшие лет 10, а там или я, или шах, или ишак...
Даже в IE давно это запили... неужто и огнелис очухался..