The OpenNET Project / Index page

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

Успехи Rust: Подготовка первого выпуска Servo и использование Rust в новом хранилище Dropbox

15.03.2016 09:23

Разработчики проекта Mozilla объявили о намерении сформировать в июне первый альфа-выпуск нового браузерного движка Servo, написанного на языке Rust, а также построенного на базе данного движка web-браузера Browser.html с интерфейсом на базе технологий HTML5. В качестве основных критериев готовности Servo рассматривается обеспечение качественной обработки сайтов github, duckduckgo, hackernews и reddit, которые в целом уже работоспособны в Servo, но полностью не лишены отдельных нерешённых проблем с отрисовкой и функциональностью.

Напомним, что браузерный движок Servo развивается проектом Mozilla в сотрудничестве с компанией Samsung. Движок написан на языке Rust и отличается поддержкой многопоточного рендеринга web-страниц, а также распараллеливанием операций с DOM (Document Object Model). Текущий браузерный движок Firefox не может в полной мере задействовать потенциал современных многоядерных систем из-за изначального использования однопоточных схем обработки контента. В частности, при обработке одной страницы однопоточным остается связанный с DOM (Document Object Model) внутренний API, функции формирования содержимого окна, парсинга HTML и выполнения JavaScript. Использование Rust позволяет разбить код DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. Кроме эффективного распараллеливания операций, используемые в Rust технологии безопасного программирования позволяют кардинально поднять уровень безопасности, решив текущие проблемы с безопасностью.

Интерфейс Browser.html примечателен отказом от использования традиционных панелей со вкладками и адресной строкой. Страница занимает всё экранное пространство. В верхней части выводится небольшая панель с базовыми управляющими элементами, адаптивно меняющая своё назначение - например, при подведении курсора предоставляется возможность ввода нового адреса, а в остальное время показывается заголовок текущей страницы. При прокрутке страницы панель исчезает из области видимости. Информация о вкладках выводится в форме блока кнопок с пиктограммами сайтов, всплывающих только при подведении курсора к верхней части экрана.

Дополнительно можно отметить появление ещё одного крупного проекта на языке Rust - компания Dropbox внедрила новое распределенное облачное хранилище Magic Pocket, в которое уже перенесена основная масса данных Dropbox, ранее хранимых в облачном сервисе Amazon S3. Главными целями миграции являются желание увеличить производительность (обращение к публичному облаку рассматривается как узкое место) и снизить издержки за счёт поддержания собственной оптимизированной для своих нужд серверной инфраструктуры. Изначально реализация хранилища была написана на языке Go, но показала низкую эффективность с точки зрения потребления памяти при больших нагрузках, после чего хранилище было переписано на Rust. Версия на Rust, которая в настоящее время уже используется на серверах Dropbox, позволила существенно сократить потребление памяти.

  1. Главная ссылка к новости (https://groups.google.com/foru...)
  2. OpenNews: На 2016 год запланировано задействование в Firefox кода на языке Rust и движка Servo
  3. OpenNews: Браузерный движок Servo достиг состояния корректного отображения GitHub
  4. OpenNews: Демонстрация Browser.html, экспериментального браузера с HTML5-интерфейсом
  5. OpenNews: Firefox переходит на новый API разработки дополнений, совместимый с API для Chrome
  6. OpenNews: Увидел свет язык программирования Rust 1.7
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/44044-servo
Ключевые слова: servo, browser.html, dropbox
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (98) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, pavelpat (ok), 09:26, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошая новость. А разработческие сборки есть, чтобы уже сейчас посмотреть? Пусть даже неработоспособные.
     
     
  • 2.5, Аноним (-), 09:36, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://github.com/browserhtml/browserhtml
    Только смотреть там откровенно не на что
     
     
  • 3.17, XXasd (?), 10:36, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а запускаться без открытия слущающего socket-порта -- оно умеет ли?
     
     
  • 4.22, Аноним (-), 10:57, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ХЗ, спроси у девелоперов. Писать интерфейс на node.js - верх маразма
     
     
  • 5.53, Ан (??), 13:39, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну vivaldi же работает, работает. Atom работает, работает. Вполне себе рабочее решение. Так что маразмом это уже не назовёшь.
     
     
  • 6.64, анонянь (?), 16:25, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Вот только ни вивальди, ни атом не используют ноду...
     
     
  • 7.77, Ан (??), 20:30, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Тыц https://atom.io/, читаем Under the hood и тыц https://vivaldi.com/, читаем веб-технологии...
    Лучше иной раз промолчать, чем лепить что не знаешь.
     

  • 1.2, A.Stahl (ok), 09:31, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >web-браузера Browser.html

    А в каком браузере будет открываться этот html-браузер?

     
     
  • 2.10, iPony (?), 09:56, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну так firefox :D
     
  • 2.31, llolik (ok), 11:55, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Как я понял, от собственно браузера остаётся только ядро на Rust. А весь GUI строится на HTML5 и JS.
    Интересно поглядеть, что из этого получится, т.к. ИМХО позволит Mozilla сосредоточится на Servo как таковом, не напрягаясь с XUL и т.д. плюсом получается практически даром одинаковую работу на любой платформе (HTML жеж).
     
     
  • 3.36, Аноним (-), 12:32, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +7 +/
    одинаково плохую работу на любой платформе (HTML жеж)
     
  • 3.68, XXasd (?), 16:41, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > одинаковую работу на любой платформе

    А что -- HTML через магию чтоль показывается на экране?

    А -- загрузка файлов, webgl, desktop нотификации , ды хоть даже отрисовка шрифтов!

     
     
  • 4.79, llolik (ok), 21:39, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А всем вот этим не движок занимается, которым предполагает быть servo? Интерфейс предполагается сделать на html, не весь же браузер в самом деле. Будем посмотреть, что из этого получится.
     
  • 2.39, Аниним (?), 12:37, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    В самом себе
     

  • 1.4, Аноним (-), 09:35, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    >интерфейсом на базе технологий HTML5

    Vivaldi

    >Страница занимает всё экранное пространство. В верхней части выводится небольшая панель с базовыми управляющими элементами, адаптивно меняющая своё назначение

    Yandex.Труселя

    Натырили идей из других браузеров.

     
     
  • 2.42, Аниним (?), 12:39, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ты что в яндексе целая команда трудилась год над фишками и идеи сами придумывали.
     

  • 1.6, apollo2k4 (ok), 09:38, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Теперь ждём когда клиент Dropbox перепишут на Rust.
     
     
  • 2.27, Аноним (-), 11:13, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На самом деле, они просто не хотят платить хостеру за перерасход траффика и вычислительных мощностей, который получается из-за роста аппетитов при копании в пользовательских данных.
    Привет Кандализе Райз :)
     

  • 1.7, A.Stahl (ok), 09:39, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    >>Интерфейс Browser.html примечателен отказом
    >адаптивно меняющая своё назначение
    >всплывающих только при подведении курсора

    Я тут долго расписывал маты, а потом подумал: "А кому они нужны?".
    Остаётся надеяться,что из-за html-ной сущности интерфейса нормальные люди быстро приведут его в юзабельное состояние когда одни и те же кнопки отвечают за одни и те же действия и находятся в одних и тех же местах. И когда ничего не мигает, перерисовывая страницу из-за вечно уезжающих панелей с важной информацией.

     
  • 1.8, Анаон (?), 09:43, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    >>Изначально реализация хранилища была написана на языке Go, но показала низкую эффективность с точки зрения потребления памяти при больших нагрузках. Переход на Rust позволил существенно сократить потребление памяти.

    Вот это новость :)

     
     
  • 2.12, Аноним (-), 10:06, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Тоже удивило. Ещё б деталей бы. Какая версия Go была? Сколько смогли памяти сэкономить? Насколько изменилась производительность?
     
  • 2.19, angra (ok), 10:47, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Для большинства программистов и решаемых ими задач выигрыша у Rust по сравнению с Go не будет. Причины использования:
    Primarily, for this particular project, the heap size is the issue. One of the games in this project is optimizing how little memory and compute you can use to manage 1GB (or 1PB) of data. We utilize lots of tricks like perfect hash tables, extensive bit-packing, etc. Lots of odd, custom, inline and cache-friendly data structures. We also keeps lots of things on the stack when we can to take pressure off the VM system. We do some lockfree object pooling stuff for big byte vectors, which are common allocations in a block storage system.
    It's much easier to do these particular kinds of optimizations using C++ or Rust.
    In addition to basic memory reasons, saving a bit of CPU was a useful secondary goal, and that goal has been achieved. The project also has a fair amount of FFI work with various C libraries, and a kernel component. Rust makes it very easy and zero-cost to work closely with those libraries/environments.

    Также новость скромно умалчивает о том, что Dropbox использовала Rust для одной единственной подсистемы:
    Actually, full disclosure, we really just rewrote a couple of components in Rust. Most of Magic Pocket (the distributed storage system) is still written in golang.
    При этом
    - Python is our primary development language for most stuff at Dropbox.
    - Mobile development and UI code use whatever is appropriate for each platform.
    - Go is the primary language for Infrastructure, meaning fairly deep-backend stuff: databases, storage systems, message pipelines, search indices etc.
    - Rust is used on Magic Pocket (which is within Infrastructure).

     
     
  • 3.33, name (??), 12:09, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть Rust - это новый c++? Однако круто.
     
     
  • 4.49, angra (ok), 13:13, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Также как Go, Swift и D
    Ни один из них не является универсальной заменой, но каждый хорош по-своему. Вряд ли один из них заменит С++ полностью, скорее каждый из них потеснит С++ и Java в одной из занимаемых ими ниш, но друг другу они при этом особо мешать не будут.
    Отдельно стоит заметить, что в отличии от трех других Rust может быть заменой не только плюсам, но и чистому С.
     
     
  • 5.50, Аноним (-), 13:23, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >Ни один из них не является универсальной заменой, но каждый хорош по-своему.

    Правильный вариант:

    >Ни один из них не является универсальной заменой, но каждый плох по-своему.

     
     
  • 6.52, angra (ok), 13:32, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну начни с рассказа о том, чем плох Rust в сравнении с плюсами.
     
     
  • 7.61, Вареник (?), 15:58, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Когда Rust++ выпустите, тогда и сравним.
     
     
  • 8.94, Kuku (?), 02:15, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ответ пустозвона и демагога ... текст свёрнут, показать
     
  • 7.96, Аноним (-), 17:33, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну начни с рассказа о том, чем плох Rust в сравнении с плюсами.

    На плюсах можно программировать даже микроконтроллеры, чем ардуина и занимается. Покажешь такое на rust? Универсальность и масштабируемость инструмента - это хорошо.

     
     
  • 8.103, Аноним (-), 23:53, 20/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, такого полно на Rust Я этим сам не занимаюсь, но в обсуждениях постоянно... текст свёрнут, показать
     
  • 5.57, Crazy Alex (ok), 15:04, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    golang - не оттуда. В отличие от других - упор на простоту, а не мощь.
     
     
  • 6.86, angra (ok), 08:21, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если плюсы для тебя это только complexity, которую ты именуешь мощь, то мои соболезнования.
     
     
  • 7.97, Аноним (-), 17:37, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ну если плюсы для тебя это только complexity, которую ты именуешь мощь,
    > то мои соболезнования.

    Это и есть мощь. На C++ можно написать что-нибудь требовательное к латенси и скорости. Например, игровой движок. На go нельзя - сборщик мусора не отключается, что гарантирует море удовольствия при борьбе с внезапными лагами. Программированием требовательных вещей занимаются люди с высокой квалификацией, им c++ как раз по руке.

     
     
  • 8.102, Led (ok), 23:54, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Мощь - это единственное число слова мощи ... текст свёрнут, показать
     
  • 6.89, й (?), 13:42, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    в отличие от swift? ну-ну

    golang и правда не оттуда но из-за csp model

     
     
  • 7.90, sh (??), 21:31, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >>golang и правда не оттуда но из-за csp model

    Его скорее к Джаве, относить/сравнивать
    "Go" не уникален - https://www.cs.kent.ac.uk/projects/ofa/jcsp и у него так же есть GC

     
  • 2.74, анонимный (?), 18:09, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    От go они не отказывались, есть ответ от разработчиков на hn. Просто переписали пару мест на расте, где критична работа с памятью. Вся остальная инфраструктура как и была на Go, на нем и останется, ничего переписывать разработчики не собираются.
     

  • 1.9, mma (?), 09:50, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Похоже пришла пора обратить внимание на Rust.
     
     
  • 2.14, Аноним (-), 10:16, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –5 +/
    У него чудовищный синтаксис и логика работы с памятью.
     
  • 2.18, Аноним (-), 10:46, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Rust такое же ненужно как и Go, если Firefox и в самом деле когда-нибудь на него переведут, то этот день станет последним днём когда я использовал Firefox.
     
     
  • 3.20, Аноним (-), 10:48, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ох ну твое мнение очень ценное для Mozilla. А еще они спят и видят, как бы сделать так, чтобы ты пользовался их браузером.
     
  • 3.23, Аноним (-), 10:59, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >если Firefox и в самом деле когда-нибудь на него переведут

    То это уже будет не firefox, будем рнадееться что palemoon не загнется иначе один гобный браузер(Opera) мы уже потеряли, потеряем firefox и останется только qupzilla, которая не умеет нормальный adblock и vim-like управление

     
     
  • 4.46, iPony (?), 12:59, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Ну про паленную лисицу смешно упоминать - это пары фурфагов проект, полностью зависящий от основного проекта фурифокса. Не загнуться он по определению не может.
     
     
  • 5.47, Аноним (-), 13:03, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Они движок форкнули, кабыла, в результате загнутся только если не кому будет его поддерживать.
     
     
  • 6.54, iPony (?), 14:05, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Они движок форкнули, кабыла, в результате загнутся только если не кому будет его поддерживать.

    Сам по себе форк - это элементарное действие.
    Поддерживать форкнутый проект, когда есть Большой Брат, у которого можно 'тырить' код - посложнее, но вполне нормально.
    Самому тянуть лямку по развитию движка - кхе, кхе...
    Так что в недалеком будущем у паленной лисицы просто нет вариантов кроме загибания.
    PS: Хотя у некоторых понятие живости отличается, некоторые и opera presto вполне себе щас пользуются.

     
  • 6.87, Сергей (??), 09:31, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он загнется, т.к. его изначально "некому" поддерживать.
    https://github.com/MoonchildProductions/Pale-Moon/issues/154
     
  • 3.84, skybon (ok), 05:31, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хорош трындеть, иди ищи утечки в плюсовом коде.
     
     
  • 4.98, Аноним (-), 18:00, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Хорош трындеть, иди ищи утечки в плюсовом коде.

    Сборка с -fsanitize=address поймает неправильную работу с памятью, -fsanitize=leaks - утечки. Си++ языка такая сложная, насяльника.

     

  • 1.11, saahriktu (?), 09:59, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    И будет браузер на Servo ещё активнее выжирать системные ресурсы. Лучше уж lynx.
     
     
  • 2.29, НяшМяш (?), 11:45, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Что лучше - отжирание одного ядра на 100% в течение 4 секунд, или отжирание 4 ядер по 25% в течение одной секунды? Это если не учитывать, что рендеринг в серве весь полностью на гпу, что даст ещё больший выигрыш. В итоге, оно ещё и жрать меньше ресурсов будет.
     
     
  • 3.32, saahriktu (?), 12:08, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Такая математика справедлива в случае относительно статических страниц, когда браузер отрендерил страницу - и всё. А если контент на странице динамический и активно обновляет те или иные части страницы? Теперь же его распараллелят и у него будет больше возможностей жрать системные ресурсы.
     
     
  • 4.41, Аноним (-), 12:39, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто не заходи на такие сайты, и всё, логика предельно проста. Браузер должен выводить информацию, которую запросил пользователь с максимальной эффективностью. Не устраивает, можешь сам ограничить число потоков. Это делается в диспетчере задач в 3 клика.
     
     
  • 5.58, saahriktu (?), 15:33, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто не заходи на такие сайты, и всё

    Я-то могу и не заходить. А вот другие юзеры потом будут плакать над трупами железа, которое склеило ласты раньше времени от того, что параллельно рядом с ресурсоёмкими сайтами в браузере на движке Servo работала куча других ресурсоёмких задач: DE, LibreOffice, Scilab, systemd, pulseaudio, Network Manager,... и т.д. Всё это вместе теперь сможет разогреть разного рода ноута до таких температур, что никакие системы охлаждения не помогут.

     
     
  • 6.81, Аноним (-), 21:48, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нефиг покупать непонятно какое оборудование или заниматься моддингом не имея бошки и прямых рук из правильного места.
     
  • 3.60, Нимано (?), 15:47, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что лучше - отжирание одного ядра на 100% в течение 4 секунд,
    > или отжирание 4 ядер по 25% в течение одной секунды?

    А еще лучше уроки не прогуливать ...
    1 * 100/100 * 4  =  400/100 = 4
    4 * 25/100 * 1 = 100/100 = 1

     
     
  • 4.65, НяшМяш (?), 16:28, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так зайди в школу на урок информатики, пусть тебе объяснят, что такое распараллеливание задач. 100% на 4 секунды = 25% за 1 секунду в одном потоке. Если по 25% раскидать на каждое ядро, то эти задачи будут выполняться одновременно, то есть все 100% будут исполнены за время, обратно пропорциональное количеству ядер.
     
     
  • 5.70, Нимано (?), 17:22, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Так зайди в школу на урок информатики, пусть тебе объяснят, что такое
    > распараллеливание задач. 100% на 4 секунды = 25% за 1 секунду
    > в одном потоке. Если по 25% раскидать на каждое ядро, то
    > эти задачи будут выполняться одновременно, то есть все 100% будут исполнены
    > за время, обратно пропорциональное количеству ядер.

    Ты не юли – речь шла о
    > отжирание одного ядра на 100% в течение 4 секунд,
    > или отжирание 4 ядер по 25% в течение одной секунды?

    Объясняю на пальцах:

    Допустим, ядро может делать 100 операций в секунду.
    100 * 4 = 400. И того: всего 400 операций за 4 секунды на одном ядре.

    Ежели раскидать эти 400 операций на 4 ядра, получим 100 операций на ядро.

    Очевидно же, что при выполнении 100 операций в секунду 4 ядра смогут сделать в сумме 400 операций за эту самую секунду. Но только при полной "загрузке" .

    Если 4 ядра будут "делать"  (уделять этой задаче) только 25 операций в секунду, то за 1 секунду, в сумме это будет 100 (сто) операций, а значит, делая по 25 (из 100 возможных) операций в секунду 4м ядрам понадобятся 4е секунды для выполнения той же работы (400 операций).

    А теперь марш уроки делать.


     
  • 3.99, Аноним (-), 18:02, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Что лучше - отжирание одного ядра на 100% в течение 4 секунд,
    > или отжирание 4 ядер по 25% в течение одной секунды?

    Вот извините, но будет нагрузка 400% на 1 секунду. Т.е. 4 ядра занятых на 100%.

    > что даст ещё больший выигрыш. В итоге, оно ещё и жрать меньше ресурсов будет.

    Как бы не так. Кривые или просто наглые сайты озадачат все 4 ядра и GPU, по поводу чего система превратится в отопитель воздуха или на ноуте - батареи хватит на 2 часа браузинга вместо 8.

     
     
  • 4.101, _ (??), 23:17, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хром уже создает новый процесс под каждую новую вкладку, нагрузка в которых естественно может пойти на другое CPU-ядро и GPU.
    Servo же просто уменьшит время на обработку новой вкладки браузера распаралелив её обработку, что судя по тестам в 2 - 2,5 раза быстрее Хрома, и ресурсы быстрее будут особожденны.
     
  • 2.44, Аноним (-), 12:40, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Звучит так, как будто бы это плохо
     

  • 1.15, Аноним (-), 10:20, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Vivaldi бы вливались тоже, уже два года бьются над блинком, а показатели по памяти и скорости не сдвигаются абсолютно..., может только в худшую сторону
     
     
  • 2.59, Аноним (-), 15:38, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Што. Откуда два года?
    Плюс ты бы за проектом последил, прежде чем ныть. Разработчики открыто заявляли что оптимизациями не занимаются на текущей фазе разработки. Man преждевременные оптимизации.
     
     
  • 3.75, Аноним (-), 19:25, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Man преждевременные оптимизации

    Ага, у некоторых они по жизни преждевременные.

     
     
  • 4.100, Аноним (-), 18:04, 18/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага, у некоторых они по жизни преждевременные.

    Выпадение генов - случается, увы.

     
  • 3.80, Аноним (-), 21:45, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > преждевременные оптимизации.

    "Преждевременные оптимизации" - баян, общепризнанный брехней и давно устаревший, как и сам баян. Из всех, кто писал мне эту фразу в интернете, никто не понимал её истинный смысл. Все воспринимают ее поверхностно, включая Вас. А ведь актуальна она <u>только в единичных</u>, частных ситуациях. И эти ситуации сконцентрированы на стадии проектирования, которую все браузеры на блинке давно прошли.

     
     
  • 4.88, Аноним (-), 10:05, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А ничего, что Вивальди еще на стадии проектирования? Может это ты все-таки не понимаешь, а не я?
     
  • 3.82, Кнут (?), 21:56, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Man преждевременные оптимизации.

    Man преждевременные

     

  • 1.16, Аноним (-), 10:22, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Кто-нибудь знает, на что в блинке память уходит?
     
     
  • 2.26, анон (?), 11:12, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Я так понимаю на безопасность и многопоточность. Каждая страница имеет свою песочницу с высокой степенью изоляции, что накладывает ограничения на совместно используемые страницы.
     
     
  • 3.38, Аноним (-), 12:34, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    По логике большая часть ресурсов (по объему) абсолютна безопасна и такие ресурсы не должны дублироваться, а должны шариться между потоками. Например зачем теже изображения и шрифты дублировать в памяти?
     

  • 1.21, LU (?), 10:51, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >В качестве основных критериев готовности Servo рассматривается обеспечение качественной обработки сайтов github, duckduckgo, hackernews и reddit

    Ну юмористы

     
     
  • 2.55, ANONYM (?), 14:11, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А чего смешного. Типичный повседневный набор сайтов обычного пользователя. Все остальные -- либо на safari, либо на edge
     
     
  • 3.76, LU (?), 20:03, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Слишком тонко)
     

  • 1.28, Bicycle (ok), 11:44, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как обычно, что-то пошло не так:
    http://rghost.net/8mtnHyBl5/image.png
     
     
  • 2.30, НяшМяш (?), 11:48, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > http://rghost.net/8mtnHyBl5/image.png

    Конечно же виноват servo, который находится в зачаточном виде и который просто обязан знать, что в soviet russia опеннет вместо православного юникода отдаётся в koi8-r.

     
     
  • 3.34, Аноним (-), 12:11, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно
     
  • 3.35, EHLO (?), 12:11, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> http://rghost.net/8mtnHyBl5/image.png
    > просто
    > обязан знать, что в soviet russia опеннет вместо православного юникода отдаётся
    > в koi8-r.

    Content-Type? -- Не, не слышал.

    $ curl -I opennet.ru
    HTTP/1.1 200 OK
    Server: nginx/1.0.9
    Date: Tue, 15 Mar 2016 09:10:47 GMT
    Content-Type: text/html; charset=koi8-r
    Connection: keep-alive
    Vary: Host
    Accept-Ranges: bytes

     
     
  • 4.37, Аноним (-), 12:33, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    То есть это чудо даже самых базовых вещей толком не умеет. Однако успех.
     
     
  • 5.43, Аноним (-), 12:40, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +10 +/
    А они базовые? Разрабы считают, что сайты не в utf-8 должны страдать.
     
  • 5.62, Вареник (?), 16:02, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > То есть это чудо даже самых базовых вещей толком не умеет. Однако успех.

    Защищенный язык защищает от ошибок жеш.

     
     
  • 6.71, _ (??), 17:25, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ещё и код сам собою пишется...
     
  • 5.66, НяшМяш (?), 16:31, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > То есть это чудо даже самых базовых вещей толком не умеет. Однако успех.

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

     
  • 4.40, Аноним (-), 12:38, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну так для них это очень второстепенная задача. Им github и остальные сайты (utf-8) хочется сделать. Если пришлёшь патчи - они будут рады.
     
  • 4.48, iPony (?), 13:06, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Content-Type? -- Не, не слышал.

    Здрасьте. Этих кодировок несколько сотен
    http://www.iana.org/assignments/character-sets/character-sets.xhtml
    Браузер не обязан их всех поддерживать. Тем более для такого сырого браузера вполне простительна не поддержка маргинальной koi8-r (есть куда важные задачи для разработчиков, чем это)

     

  • 1.45, Меломан1 (?), 12:42, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Mozilla в сотрудничестве с компанией Samsung

    Содом и Гоморра

    >Интерфейс Browser.html примечателен отказом от использования традиционных

    Ценностей, таких как управление клавиатурой и горячие клавишы.

    Теперь будете работать

    >...только при подведении курсора

     
     
  • 2.91, sh (??), 22:30, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    если ты не в курсе, то можно слушать ивенты и от ввода с клавиатуры, и даже тач. обработку.
    сделают хоткеи. - пиши тикет на какую комбинацию и проверяй
     

  • 1.56, tehnikpc (ok), 14:42, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >использования однопоточных схем обработки контента

    Облажались.

     
  • 1.63, Дуплик (ok), 16:23, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    GTK+ использует? Если да, то супер!
     
     
  • 2.67, Аноним (-), 16:34, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Спешу тебя разочаровать.
     
     
  • 3.72, _ (??), 17:28, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    в тексте, или на форумах пишут что будут выкладывать в opensource свои наработки со временем.

     
     
  • 4.104, Аноним (-), 23:55, 20/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Надеюсь, вы не о Servo? https://github.com/servo/servo
     

  • 1.69, Андрей (??), 16:42, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Изначально реализация хранилища была написана на языке Go, но показала низкую эффективность с точки зрения потребления памяти при больших нагрузках, после чего хранилище было переписано на Rust.

    Эх, жаль, что не open source. Так был бы неоценимый бенчмарк из реальной жизни! И можно было бы спрофайлить, где подпилить Go.

     
     
  • 2.73, _ (??), 17:29, 15/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Изначально реализация хранилища была написана на языке Go, но показала низкую эффективность с точки зрения потребления памяти при больших нагрузках, после чего хранилище было переписано на Rust.
    > Эх, жаль, что не open source. Так был бы неоценимый бенчмарк из
    > реальной жизни! И можно было бы спрофайлить, где подпилить Go.

    в тексте, или на форумах их сотрудники пишут что будут выкладывать в opensource свои наработки со временем. (речь о RUST)

     

  • 1.83, Аноним (-), 01:50, 16/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Hello world очень толсто компилирует Rust в отличии от C
     
     
  • 2.85, ruof (?), 06:16, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Там всё std статически линкуется. Между прочем libc 1мб с лишним весит, с той лишь разницей что он статически почти никогда не линкуется.
     
  • 2.92, sh (??), 22:34, 16/03/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Hello world очень толсто компилирует Rust в отличии от C

    Если тебе для твоего "Hello World" не нужен libstd, то без него разницы в размере с "C" не будет.

     
  • 2.93, Аноним (-), 02:33, 17/03/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Hello world очень толсто компилирует Rust в отличии от C

    rustc -C prefer-dynamic

     

  • 1.95, Аноним (-), 15:16, 18/03/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Кроме эффективного распараллеливания операций, используемые в Rust технологии безопасного программирования позволяют кардинально поднять уровень безопасности, решив текущие проблемы с безопасностью.

    Безопасность, безопасность, безопасность

     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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