The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Первый релиз многопоточного HTML-парсера MyHTML"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от opennews (ok) on 13-Июл-16, 20:16 
После нескольких месяцев разработки увидел свет первый релиз (https://github.com/lexborisov/myhtml/releases/tag/v1.0.1) быстрого HTML парсера MyHTML (https://github.com/lexborisov/myhtml/). Код написан на языке Си и распространяется под лицензией  LGPL v2.1.


Особенности  MyHTML:


-  Высокая производительность;
-  Асинхронная обработка токенов и построение дерева
-  Полная поддержка спецификаций HTML 5 (https://html.spec.whatwg.org/multipage/), по состоянию на 19.06.2016;
-  Возможность манипулировать элементами и их атрибутами: добавлять, удалять, изменять
-  Поддерживает 39 кодировок на входе. На выходе только UTF-8, вся работа внутри только в UTF-8
-  Автоматическое определение кодировки текста. Сейчас доступны unicode: UTF-8, UTF-16LE, UTF-16BE (+ определение по BOM) и русские: windows-1251, koi8-r, iso-8859-5, x-mac-cyrillic, ibm866
-  Может работать в Single Mode — без тредов. Так же может быть собран без потоков.
-  Возможность парсить фрагменты HTML или парсить кусками (chunks);
-  Не имеет внешних зависимостей;
-  Поддерживает C99;
-  Не испытывает проблем если на вход подать бинарный файл или не валидный HTML;

Проект также предоставляет большую подборку примеров (https://github.com/lexborisov/myhtml/tree/master/examples) по использованию и описание API (https://github.com/lexborisov/myhtml/blob/master/include/myh...). На основе данного проекта будет разрабатывается рендер HTML на "голом" Си без зависимотей. Скоро будет завершён CSS-парсер MyCSS (https://github.com/lexborisov/mycss).

URL: https://github.com/lexborisov/myhtml/releases/tag/v1.0.1
Новость: http://www.opennet.ru/opennews/art.shtml?num=44782

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Первый релиз многопоточного HTML-парсера MyHTML"  +3 +/
Сообщение от neon1ks (ok) on 13-Июл-16, 20:16 
Круть!)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

52. "Первый релиз многопоточного HTML-парсера MyHTML"  –17 +/
Сообщение от Rodegast (??) on 14-Июл-16, 11:21 
Вот было бы на haskell-е, тогда бы была бы действительно круть...
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

54. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Вадик (??) on 14-Июл-16, 12:10 
Ну а смысл. C достаточно универсален. Биндинги к нему напилить и все круто будет. А хаскель...да, мы любим хаскель.
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

88. "Первый релиз многопоточного HTML-парсера MyHTML"  –2 +/
Сообщение от Rodegast (??) on 14-Июл-16, 14:46 
Ну как минимум с многопоточностью у haskell-а дела обстоят лучше.
А вообще проект мне понравился. Надеюсь что у автора всё получится в полной мере.
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

110. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Uri (??) on 14-Июл-16, 18:08 
Эммм, что-что?

Я не ослышался - У хаскеля с многопоточностью дела лучше, чем у С???

Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

134. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Rodegast (??) on 14-Июл-16, 21:52 
Конечно. Аппликативный код распараллеливается лучше итеративного. При словах "многопоточного HTML-парсера" у меня первая мысль была об erlang-е, но я подумал и всё-таки написал про haskell.
Ответить | Правка | ^ к родителю #110 | Наверх | Cообщить модератору

161. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 15-Июл-16, 21:22 
> Конечно. Аппликативный код распараллеливается лучше итеративного. При словах "многопоточного
> HTML-парсера" у меня первая мысль была об erlang-е, но я подумал
> и всё-таки написал про haskell.

Если он будет такой же как ejabberd - спасибо, но оставьте это себе.

Ответить | Правка | ^ к родителю #134 | Наверх | Cообщить модератору

116. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 18:40 
А со сборкой мусора? Будет ли код такой же быстрый как и на си?
Ответить | Правка | ^ к родителю #88 | Наверх | Cообщить модератору

136. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Rodegast (??) on 14-Июл-16, 22:05 
Насколько гипотетический парсер на haskell-е будет быстрее|медленнее сабжа сказать трудно. Но достаточно быстрый парсер написать можно. См. ссылку ниже.
Ответить | Правка | ^ к родителю #116 | Наверх | Cообщить модератору

141. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 23:13 
зачем такому проекту сборщик?
Ответить | Правка | ^ к родителю #116 | Наверх | Cообщить модератору

62. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от rob pike on 14-Июл-16, 13:02 
https://github.com/bazqux/fast-tagsoup
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

89. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Rodegast (??) on 14-Июл-16, 14:48 
Оно что-то давно не обновлялось, хотя скорость 20-200MB/sec это более чем круть ;)
Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

124. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Vombat on 14-Июл-16, 19:34 
А что сложного написать? Поставь задачу и вперед.
Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

160. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Аноним (??) on 15-Июл-16, 21:21 
> Вот было бы на haskell-е, тогда бы была бы действительно круть...

Куда это потом девать? Пофапать и выбросить? На сях то оно куда угодно прикручивается при должном желании.

Ответить | Правка | ^ к родителю #52 | Наверх | Cообщить модератору

2. "Первый релиз многопоточного HTML-парсера MyHTML"  +2 +/
Сообщение от G.NercY.uR on 13-Июл-16, 20:16 
Написано всё очень оптимистично и красиво! Это в итоге использовать можно будет для построения браузерного движка или какие у этого парсера предназначения?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от НяшМяш (ok) on 13-Июл-16, 20:21 
Судя по тому, что будут писать рендер, да ещё и MyCSS на подходе - есть все шансы увидеть новый браузер.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от rob pike on 13-Июл-16, 20:27 
Нету. Главное это layout, rendering и Javascript.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

14. "Первый релиз многопоточного HTML-парсера MyHTML"  +8 +/
Сообщение от lastmac email on 13-Июл-16, 22:23 
layout, reflow and other

Будет, всё будет. Если почитать статьи к парсеру то там я указывал, что рендер уже есть, но всё написано в черновом варианте. Сейчас же идет разработка чистовика. JS будет сторонний, пока сторонний.

На хабре (https://habrahabr.ru/post/277031) я описывал что за проект и к чему стремлюсь. Возможно скоро я буду делать его не один.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

16. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 13-Июл-16, 22:30 
Это вы отрисовку шрифтов к other отнесли?
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

17. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Аноним (??) on 13-Июл-16, 22:35 
А куда её отнести? Или отрисовка шрифтов -- это ключевое что есть?
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 13-Июл-16, 22:58 
В те 10% задачи, которые займут 90% времени.

> Или отрисовка шрифтов -- это ключевое что есть?

Это с какой стороны смотреть. Но если относить в other - вас ждёт открытий чудных, и больших надежд на релиз такого браузера я бы не питал.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

105. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 17:16 
Есть большая разница между отрендерить шрифт и отрендерить шрифт с антиалисами на ретина дисплее.

Но я и не питаю надежд -- браузеры сейчас настолько сложны в разработке что даже таже опера слилась со своим движком. А браузер который не все сайты будет хорошо показывать не нужен.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

119. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 18:51 
Во-первых, это забота библиотек.
Во-вторых - это кому как. У меня вот нет ретины, я всегда отключаю антиалиасинг и мне плевать на поехавшие шрифты на сайте. Зато на скорость работы и возможность кастомизации мне не наплевать. Особенно если это будет возможность кастомизации на сях.
Ответить | Правка | ^ к родителю #105 | Наверх | Cообщить модератору

149. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 15-Июл-16, 09:20 
поехавшие шрифты != поехавшие сайты.

Сейчас настолько адская смесь из css, js, html и багов разных возрастов, что сделать что-то работающее как надо сильно непросто.

Ответить | Правка | ^ к родителю #119 | Наверх | Cообщить модератору

26. "Первый релиз многопоточного HTML-парсера MyHTML"  +4 +/
Сообщение от G.NercY.uR on 14-Июл-16, 06:05 
Уважаемый, если вы не измените своим принципам и до конца будете идти по пути качественного кода, с упором на скорость и минимальные потребляемые ресурсы, и в итоге если ещё появится браузер, которым можно будет пользоваться на системе с 256 мегами памяти, то мой вам поклон и запись в постоянные донейторы вашего проекта.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

34. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 08:50 
Вообще-то один из простых способов получить скорость и компактность - не давать страницам делать лишнего. Ну там - дефолтное полное отключение JS в неактивных вкладках (с белым списком, конечно), а тои полная выгрузка уже распарсенного и загруженного контента в каких-то разумных (вероятно, слегка сжатых чем-то быстрым вроде imagezero и подобных) форматах на диск, возможность прервать исполнение уже загруженного и запущенного JS и тому подобное. И этого всего в существующих браузерах здорово не хватает.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

47. "Первый релиз многопоточного HTML-парсера MyHTML"  +2 +/
Сообщение от тоже Аноним email(ok) on 14-Июл-16, 10:51 
Секрет в том, что тормоза в браузерах и оплата их разработки идут из одного источника - рекламных сетей. Браузер со встроенной изначально резалкой шлака будет заметно быстрее Хрома, например, даже в том случае, если будет просто Хромиумом со встроенной резалкой шлака.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

56. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 12:21 
Я скорее согласен, чем нет. Речь была о том, что это (условно) простой путь получить конкурентоспособный браузер. Но да, финансировать придётся за счёт краудфандинга.
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

68. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 13:17 
В принципе, совсем необязательно. Есть какое-то количество ниш, в которых был бы очень востребован быстрый браузер, потребляющий минимальное количество ресурсов, а ограниченность возможностей была бы только дополнительным плюсом - автомобильная индустрия, например, или управление промышленным оборудованием.
Деньги там очень серьезные.
Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

72. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 13:41 
Нет там никаких проблем с ресурсами - ни в делах автомобильных, ни в промышленности, куда частенько вообще ПК пихают в железном ящике. Ограничение фич при нужде в движках тоже предусмотрено.

А вот power user'ов, для которых подходящего браузера не осталось - этих хватает. Да и денег не особо много надо - если, конечно, оплачивать работу программистов, а не Mozilla Corporation. Скажем так - есть обоснованная уверенность, что, как минимум, с поддержкой/допиливанием при существующей кодовой базе справится команда до 10 человек. Особенно если не хотеть странного, вроде проигрывания видео во время плавной прокрутки страницы (чёрт, да эту плавную прокрутку можно вообще не делать).

Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

80. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 14:18 
И проблемы с ресурсами есть, и с ограничением фич всё очень плохо.

Продвинутые пользователи - это ниша, на которую стало принято забивать, она другая, но тоже очень интересная. Только более сложная в собирании с неё денег. Но деньги в ней тоже есть, никто не спорит.

Основные проблемы, которые мне видятся с продуктом для power users (оставляя тему денег на время в стороне)
  - нужна максимальная расширяемость, кастомизирумость, гибкость. Для этого нужна очень хорошая архитектура. Это сложно.
  - long tail требований. Power users они на то и не лайкатели в инстаграммах, что запросы у них очень уж разные. И запросы эти часто взаимоисключающие.

Ответить | Правка | ^ к родителю #72 | Наверх | Cообщить модератору

90. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 14:56 
Архитектура "хребет + плагины, которые можно цеплять цепочками", в общем-то, не так уж сложна. То, что плагин становится сишной либой - не проблема, если надо - интерфейс к другим языкам делается отдельно.

long tail этим и решается - плаягинами. Главное, чтобы не надо было писать полноценные движки.

А деньги взимать - краудсорсинговый проект на базовый вариант + оплата отдельных фич (по факту - плагинов тех же) потом. Хотя потом оно и без оплаты будет жить.

Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору

96. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 15:35 
Она "не сложна" ровно до момента её имплементации. Особенно вместе требованиями по производительности.

Long tail легко решается плагинами в экосистемах типа Wordpress - и, кстати, хорошая архитектура этому весьма препятствует. Где много-много одинаковых людей на каждую фичу, и совсем не power users.

Оплата фичей теоретически вещь неплохая, вот краудсорсинг здесь вселяет гораздо меньше оптимизма.

Ответить | Правка | ^ к родителю #90 | Наверх | Cообщить модератору

118. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 18:44 
Да делана такая архитектура сто раз (и мной в том числе) - нет ничего великого в ней. Производительность перестаёт быть проблемой как только перестаёшь видеть плагины как нечто страшное, внешнее и недоверенное. Если у них те же права, что и у остального кода (и они, соответственно, могу всё завалить, конечно) - то всё в порядке.

Насчёт long tail не понял - чему хорошая архитектура препятствует?

Ответить | Правка | ^ к родителю #96 | Наверх | Cообщить модератору

128. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 21:33 
Хорошая архитектура препятствует набеганию тысяч неквалифицированных разработчиков, которые левой пяткой запиливают тысячи плагинов, не умея ни читать ни писать.
Ответить | Правка | ^ к родителю #118 | Наверх | Cообщить модератору

143. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 15-Июл-16, 00:02 
Тогда у нас очень разные понятия о хорошей архитектуре. Вопрос, в общем-то, не в том, сколько тысяч кривых плагинов, а в том, чтобы от них можно было легко отличить не кривые. А так - если каждый может для себя сделать какую-то кастомизацию - это и есть система для power user'ов. Тот же unix shell с утилитами и пайпами взять - они пишут себе какие-то спеифические домашние скрипты, от которых production quality никто в здравом уме и не ждёт - зато точно под конкретные условия.
Ответить | Правка | ^ к родителю #128 | Наверх | Cообщить модератору

147. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 15-Июл-16, 07:57 
зачем тебе unix shell убогий? твое корыто это systemd - вот жри его и вперед :)
Ответить | Правка | ^ к родителю #143 | Наверх | Cообщить модератору

67. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 13:15 
Вы опять главного не сказали - за этим стоят Ротшильды или Рокфеллеры?
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

117. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 18:44 
К сожалению тут надо очень долго возится, иначе сайты получятся совсем не юзабельными
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

165. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 16-Июл-16, 04:18 
> Вообще-то один из простых способов получить скорость и компактность - не давать
> страницам делать лишнего.

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

Во-вторых, без разрешения этого лишнего - сайты часто работать перестают. Для понимания, посмотри на twitter bootstrap. Без js половина оформления отваливается, хотя формально js опционален. А оно популярное и на этом каждый второй сайт сделан.

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

50. "Первый релиз многопоточного HTML-парсера MyHTML"  +4 +/
Сообщение от lastmac email on 14-Июл-16, 11:04 
> Уважаемый, если вы не измените своим принципам и до конца будете идти
> по пути качественного кода, с упором на скорость и минимальные потребляемые
> ресурсы, и в итоге если ещё появится браузер, которым можно будет
> пользоваться на системе с 256 мегами памяти, то мой вам поклон
> и запись в постоянные донейторы вашего проекта.

Спасибо вам!
Своим принципам я не поступлюсь.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

37. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 09:37 
Вы правда (если это вы) собираетесь в одиночку сделать конкурента Firefox и Chrome? Либо вы гений, либо глупец.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

41. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 10:17 
Или умный человек, способный поставить задачу премлемого масштаба, не пытаясь реализовать всё, что понапихали в этих кадавров. Ну и читайте внимательнее то, на что отвечаете - "возможно скоро я буду делать его не один."
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

64. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 13:06 
Заодно можно реализовать много другого.
Да и один в поле тоже воин - http://lambda-the-ultimate.org/node/3851#comment-57760
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

42. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Sen email on 14-Июл-16, 10:31 
где-то это было... А точно Линуксу этоже сказали в своё время... И да Google тоже из тех же ребят)))
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

49. "Первый релиз многопоточного HTML-парсера MyHTML"  +2 +/
Сообщение от lastmac email on 14-Июл-16, 10:59 
> Вы правда (если это вы) собираетесь в одиночку сделать конкурента Firefox и
> Chrome? Либо вы гений, либо глупец.

К счастью, или сожалению, но мне это говорят часто. Я не пытаюсь сделать, как это модно сейчас говорить, "убийцу" того или другого. Я просто не доволен тем что есть и делаю так как считаю правильным.

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

Я реалист, проект очень большой. Просто вот нахрапом такое не сделать. Можно даже сказать, что браузер это свод современных технологий/решений. В общем, это крайне не простая "штука".

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

57. "Первый релиз многопоточного HTML-парсера MyHTML"  +2 +/
Сообщение от G.NercY.uR on 14-Июл-16, 12:25 
Автор как я считаю, пример исчезающих к сожалению, романтиков IT отрасли. Это раньше корпели над тем, как бы изящней, да эффективней написать каждый кусок кода, сейчас же никого не волнуют такие формальности.

Рынку надо продавать, чтобы продавалось новое, надо чтобы тормозило старое. Вокруг сотни браузеров, один прожорливей другого. И проедают они полностью ресурсы современных писюков, хотя например году эдак в 2006-2007, помню в общаге преспокойненько пользовался инетом в опере, со всеми яваскриптами, она тогда полностью проходила acid тесты, и вконтакты и одноклассниками и масса вкладок нормально себе ворочались на Athlon X2 4200 + 1Gb Ram во фре.

Мне кажется в сайтостроении не поменялось так много, чтобы обычный интернет сёрфинг стал требовать на порядок больше ресурсов.

Надеюсь у Автора всё будет получаться, подключатся сторонники и единомышленники - качественные кодеры.

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

60. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 12:36 
Вокруг 4 браузера. Chrome, Edge, Mozilla, Safari. То, что на движки хрома ещё пара десятков команд натянула свои шкурки (и парочка на мозилловские), ничего не меняет.
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

69. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 13:23 
Есть несколько экспериментально-академических движков - ну, не движков, а proof of concept поделок.
Все упирается в layout и %^$^%$$#%$#% модель CSS - в результате лок на локе едет и локом погоняет, и пиление их алмазным надфилем требует в условиях "attention span типичного разработчика не превышает 5 секунд" совершенно катастрофических ресурсов по времени и деньгам.
Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

73. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от vitalif email(ok) on 14-Июл-16, 13:42 
ты кстати зря, firefox за это время например ускорился и течь таки меньше стал

а опера наоборот протухла адово

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

77. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Аноним (??) on 14-Июл-16, 14:00 
Ну вот Mozilla переписала с нуля движок на Rust. Как до хотя бы до беты дойдет посмотрим, как оно.
Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

82. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 14:20 
Там до переписывания и до того что можно было бы назвать движком еще очень далеко.
И волшебное слово Rust само по себе ВНЕЗАПНО не волшебная палочка.
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

91. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 14:58 
У мозиллы слишком отличается направление движения - "всё упростить, ориентировать на массового пользователя, всё засунуть в веб или хотя бы в джаваскрипт". Тут на чём не пиши - всё равно гадость будет.
Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

97. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от rob pike on 14-Июл-16, 15:37 
Самое смешное, конечно, в том что она будет еще и никому не нужная, потому что Chrome уже есть, и перехромить его не удастся.
Ответить | Правка | ^ к родителю #91 | Наверх | Cообщить модератору

144. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 15-Июл-16, 00:03 
Вот то, что до них это не доходит, меня удивляет больше всего.
Ответить | Правка | ^ к родителю #97 | Наверх | Cообщить модератору

150. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 15-Июл-16, 09:37 
А в других случаях - с Blackberry, например - не удивляет? Это обыденность, редки наоборот, исключения из этого паттерна - такие как Harley Davidson, например.

Ну и чтобы считать что дело именно в "не доходит", нужно имплицитно предполагать что участники процесса разработки Firefox заинтересованы в том чтоб Firefox всех победил. Причем не в формулировке "при прочих равных он бы еще и всех победил" ("растащив пол-завода мы бы еще и выполнили квартальный план") - от этого участники, конечно, не отказались бы - а именно серьезно заинтересованы, в формулировке "ради выполнения квартального плана мы готовы пожертвовать растаскиванием половины завода".

Ответить | Правка | ^ к родителю #144 | Наверх | Cообщить модератору

162. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 15-Июл-16, 21:29 
> На хабре (https://habrahabr.ru/post/277031) я описывал что за проект и к чему стремлюсь.
> Возможно скоро я буду делать его не один.

А что, набор технологий ничего так, симпатично и со вкeсом. Никакой хипстерской фигни и решения всех мировых проблем, все по делу. Автор крут.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

4. "Первый релиз многопоточного HTML-парсера MyHTML"  +8 +/
Сообщение от rob pike on 13-Июл-16, 20:24 
Сравнение с парсером на Rust - http://lexborisov.github.io/benchmark-html-persers/
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от freehck email(ok) on 13-Июл-16, 20:52 
Ух. Да оно на порядок опережает servo/html5ever. Очень, очень достойный результат.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Первый релиз многопоточного HTML-парсера MyHTML"  +16 +/
Сообщение от rob pike on 13-Июл-16, 21:20 
Это какая ошибка, ведь Rust самый лучший язык, у servo самые лучшие разработчики на самом лучшем языке, Mozilla Foundation самая прогрессивная опен-сорс компания, а поезд Си давно ушел!
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

100. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 15:43 
Как уже упоминал тёзка, html5ever скорее заглушка, которая ещё будет пилиться. Ну и gumbo тоже, как бы, на Си написан.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

102. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 16:37 
Но ведь скорость разработки на прогрессивном языке Rust обгоняет фотоны в вакууме!
Почему же заглушка и будет пилиться? Ведь Servo разрабатывается рекордными темпами и со дня на день вытеснит устаревшие браузеры окончательно?
Ответить | Правка | ^ к родителю #100 | Наверх | Cообщить модератору

108. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Аноним (??) on 14-Июл-16, 18:00 
> Но ведь скорость разработки на прогрессивном языке Rust обгоняет фотоны в вакууме!

Казалось бы, причем тут скорость разработки.
> Почему же заглушка и будет пилиться?

Так что там с тормозами Gumbo?

Ответить | Правка | ^ к родителю #102 | Наверх | Cообщить модератору

129. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 21:35 
> Казалось бы, причем тут скорость разработки.

Разве это не одна из уникальных особенностей прогрессивного языка Rust, выгодно отличающая его от устаревших языков Си и С++?

Ответить | Правка | ^ к родителю #108 | Наверх | Cообщить модератору

139. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 22:52 

> Разве это не одна из уникальных особенностей прогрессивного языка Rust, выгодно отличающая
> его от устаревших языков Си и С++?

Так вы из неолуддитов  будете?

Ответить | Правка | ^ к родителю #129 | Наверх | Cообщить модератору

163. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 15-Июл-16, 22:19 
> Это какая ошибка, ведь Rust самый лучший язык, у servo самые лучшие
> разработчики на самом лучшем языке, Mozilla Foundation самая прогрессивная опен-сорс компания,
> а поезд Си давно ушел!

Разработчики из мозиллы свалили а у менеджеров всегда все самое лучшее. Но, к сожалению, только в маркетинговых буклетиках.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

19. "Первый релиз многопоточного HTML-парсера MyHTML"  –5 +/
Сообщение от angra (ok) on 13-Июл-16, 22:58 
Мсье точно смотрел графики? В каком месте на порядок? Или кто-то не знает, что порядок это в 10 раз, а не на 10%?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

21. "Первый релиз многопоточного HTML-парсера MyHTML"  +3 +/
Сообщение от rob pike on 13-Июл-16, 23:01 
> MyHTML Overall time: 0.50890
> HTML5Ever Overall time: 4.50536
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

22. "Первый релиз многопоточного HTML-парсера MyHTML"  –2 +/
Сообщение от angra (ok) on 13-Июл-16, 23:11 
Ну как и предполагалось, графиков не смотрели, просто глянули на итоговые цифры.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

24. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 01:05 
Может быть вы расшифруете свою мысль, снизойдете до пояснений?
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

51. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от angra (ok) on 14-Июл-16, 11:06 
В большей части случаев разница не в 10 раз, а от двух до четырех. То есть финальная разница в 10 раз сделана небольшим количеством сайтов. Причем очень любопытно, что на какой-нибудь паре сайтов сабж справляется за почти одинаковое время, а html5ever  с разницей в три раза. Тут два варианта, либо есть проблемы с парсингом каких-то конструкций в html5ever, либо сабж просто скипает парсинг некорректных кусков. И в этом серьезная проблема всего бенчмарка, он сравнивает скорость парсинга, но не проверяет корректность или хотябы равенство результатов у парсеров.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

55. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от lastmac email on 14-Июл-16, 12:14 
Сравниваются только полноценные парсеры. То есть те кто полностью соответствует спецификации и проходит тесты на правильное построение дерева https://github.com/html5lib/html5lib-tests/tree/master/tree-...

Прогон 60к сайтов показал среднее отставание html5ever в ~5 раз.

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

104. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от angra (ok) on 14-Июл-16, 17:12 
Еще раз, сравнивались ли деревья, построенные парсерами на этих 60к сайтов, многие из которых скорее всего не полностью следуют спецификациям?  Насколько сильно оставание на этих эталонных тестах, а не реальных сайтах?
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

115. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 18:38 
Чуть ниже по треду есть же ответ: http://www.opennet.ru/openforum/vsluhforumID3/108541.html#45
Ответить | Правка | ^ к родителю #104 | Наверх | Cообщить модератору

122. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от angra (ok) on 14-Июл-16, 19:08 
Это не ответ на мой вопрос. Ну разве что считать это признанием в том, что на самом деле бенч был несколько некорректным.
Ответить | Правка | ^ к родителю #115 | Наверх | Cообщить модератору

125. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от lastmac email on 14-Июл-16, 19:47 
Быть может вы удивитесь, но их нельзя сравнить по конечной серелизации данных. Всё крайне просто, спецификация "живая" и она постоянно меняется. Вот например, тег isindex выкинули из спецификации не так давно. Теперь такого тега нет, теперь он такой же как прочие "безымянные теги", вроде <mynametag>. Поменялась обработка тега menu and menuitem и т.д..

Есть общепризнанные тесты на правильное построение дерева: https://github.com/html5lib/html5lib-tests/tree/master/tree-... — тесты охватывают очень многое из спецификации, в особенности всё что связано с битыми тегами и невалидным хтмл. Сейчас сложно сказать с плеча, я как-то не особо изучаю сторонние парсеры, но вроде гумбо гугловский уже устарел, хтмл5эвер не знаю, сюда по логу коммитов он тоже давольно давно не обновлялся.

На момент прохождение бенчмарков хтмл5эвер не проходил все тесты на построения дерева, но это было что-то 10 из 1000 (приблизительно). Про гумбо уж не помню.

Порой даже в разных браузерах можно наблюдать разное построение дерева, со следующими версиями они обновляются.

Я стараюсь поддерживать свежую спецификацию.

Ответить | Правка | ^ к родителю #122 | Наверх | Cообщить модератору

126. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от angra (ok) on 14-Июл-16, 21:17 
Я веду речь о том, что нельзя сравнивать напрямую скорость, если результат выдается неодинаковый. Тем более непонятно, почему при наличии тестов они не были использованы для бенчмарка. А если были, то интересен результат.
Ответить | Правка | ^ к родителю #125 | Наверх | Cообщить модератору

130. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от lastmac email on 14-Июл-16, 21:38 
Каждый тест парсится меньше чем за 1мс (0.00001). Там нечего тестировать на скорость, это тесты на корректность.

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

Могу лишь вас заверить, что корректность бенчмарка подтверждена не одним человеком. Более того, даже теми кто пилит серво.

Ответить | Правка | ^ к родителю #126 | Наверх | Cообщить модератору

138. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от angra (ok) on 14-Июл-16, 22:32 
> Каждый тест парсится меньше чем за 1мс (0.00001). Там нечего тестировать на
> скорость, это тесты на корректность.

Это нормально для тестов, но обычно в таких случаях их просто запускают нужное количество раз в цикле. Что мешало сделать так?

> Могу лишь вас заверить, что корректность бенчмарка подтверждена не одним человеком. Более
> того, даже теми кто пилит серво.

Ну если уж общались с ними, то может они озвучивали предположения о причинах того, что скорость разнится то в два раза, то в десять.

Ответить | Правка | ^ к родителю #130 | Наверх | Cообщить модератору

10. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от ZloySergant (ok) on 13-Июл-16, 21:35 
>Сравнение с парсером на Rust - http://lexborisov.github.io/benchmark-html-persers/

Упс.

P.S. Да, некрасиво получается. С другой стороны, кто-то, вообще, на ASM'е пишет.

P.P.S. Больно всяким бидонистам? Обидно? Ну так что делать-то? У низкоуровневых (при наличии мозгов у прогера) - оверхеда-то -  нет.

P.P.S.S.
Слава-слава бидонистам! (нужную фигню - вставить)
Прирожденным оптимистам, (на предмет проца и памяти)
Кто способен в поле чистом
Всю систему положить! (без комментариев. Наблюдал)

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

15. "Первый релиз многопоточного HTML-парсера MyHTML"  +7 +/
Сообщение от Аноним (??) on 13-Июл-16, 22:28 
Не ругай меня, родная, что накодил тут г..на я :D
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

20. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 13-Июл-16, 22:59 
> на я :D

Ну что вы, на прогрессивном языке D получилось бы раз в 200 быстрее.


Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

107. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 17:28 
То что ты наблюдал в кабинете информатики своего ПТУ это конечно важные наблюдения, но реальность "немножко" другая. Стыдно не знать что к питону подключаются всякие сишные библиотечки, совмещая скорость Си и простоту питона. К примеру есть вполне себе массовый и шустрый питоновский парсер grab, который написан вокруг обвязки сишной библиотеки lxml. Работает и шустро и просто. Больно, да?
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

153. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Mail on 15-Июл-16, 11:19 
На perl обвязка еще быстрее.

Совсем больно?

Ответить | Правка | ^ к родителю #107 | Наверх | Cообщить модератору

155. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 15-Июл-16, 11:46 
> На perl обвязка еще быстрее.
> Совсем больно?

Во первых, то что на перл быстрее - надо пруф.
Во вторых, больше обвязок, хороших и разных.

Ответить | Правка | ^ к родителю #153 | Наверх | Cообщить модератору

166. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от ZloySergant (ok) on 06-Авг-16, 20:08 
> То что ты наблюдал в кабинете информатики своего ПТУ это конечно важные
> наблюдения, но реальность "немножко" другая. Стыдно не знать что к питону
> подключаются всякие сишные библиотечки, совмещая скорость Си и простоту питона. К
> примеру есть вполне себе массовый и шустрый питоновский парсер grab, который
> написан вокруг обвязки сишной библиотеки lxml. Работает и шустро и просто.
> Больно, да?

Солнышко, ты хоть усрись, но конечный продюкт, транслируемый в машинный код всякие парсеры-херарсеры не превзойдут. Все равно что сказать: наша картонная мороженка круче Вашей нативной из молока! Всегой-то надо отшелушить десяток слоёв картона. А там - тот самый пломбир.

Ответить | Правка | ^ к родителю #107 | Наверх | Cообщить модератору

11. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Аноним (??) on 13-Июл-16, 21:54 
> x86_64-apple-darwin15.3.0

Не интересно.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

23. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от НяшМяш (ok) on 14-Июл-16, 00:01 
Полезнее было бы вместо очередного коммента про проявление отсутствия интереса выложить свои тесты. Пусть даже если эти тесты были сделаны на твоей любимой десяточке.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

48. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от lastmac email on 14-Июл-16, 10:51 
> Полезнее было бы вместо очередного коммента про проявление отсутствия интереса выложить
> свои тесты. Пусть даже если эти тесты были сделаны на твоей
> любимой десяточке.

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

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

63. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 13:04 
html5ever в нынешнем виде не предназначен для использования в продакшне. Это по сути заглушка для прохождения тестов, которая позже будет полностью переписана. Все делающие выводы из этого сравнения, извините за мой французский, некомпетентные идиоты.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

121. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от lastmac email on 14-Июл-16, 19:02 
Не нужно ругаться. Откуда у вас эта информация?

Где-то три-четыре месяца назад мне писали из мазилы (на работу звали), где некий сотрудник среди прочего утверждал, что в данный момент делаются тюнинг и оптимизации кода. Речи о заглушках и полном переписывании не шло. Хотя я не исключаю, что ребята таки соберутся и перепишут парсер полностью.

В данный момент они утверждают, что их парсер: High-performance browser-grade HTML5 parser

Но и я на месте стоять то не буду.

Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

8. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Гость (??) on 13-Июл-16, 21:31 
>Код написан на языке Си

Дырки присутствуют?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 13-Июл-16, 22:01 
Количество не найденных ещё дырок всегда бесконечно (цэ).
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 13-Июл-16, 22:13 
А всё почему? Потому, что ошибка неисчерпаема, как атом.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

25. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 01:06 
Как Electron.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

9. "Первый релиз многопоточного HTML-парсера MyHTML"  –2 +/
Сообщение от Пользователь Debian on 13-Июл-16, 21:33 
Ну, вообще-то реальный веб это не HTML5.

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

31. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 08:37 
Это веб пятилетней давности. Сейчас - либо HTML5, либо что-то, где идеальная отрисовка на фиг не нужна.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

45. "Первый релиз многопоточного HTML-парсера MyHTML"  +3 +/
Сообщение от lastmac email on 14-Июл-16, 10:44 
> Ну, вообще-то реальный веб это не HTML5.
> Парсер для настоящего (а не сферического в вакууме) браузера, к сожалению, должен
> поддерживать различные ухищрения чтобы парсить кривой HTML и XHTML различных версий.

Всё это парсер делает. Всё ровно так же как современные браузеры. Спецификация HTML оговаривает что и как должно происходить в "непонятных" ситуациях.

В спецификации можно посмотреть здесь:
An introduction to error handling and strange cases in the parser:
https://html.spec.whatwg.org/multipage/syntax.html#an-introd...

Adoption agency algorithm:
https://html.spec.whatwg.org/multipage/syntax.html#adoption-...

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

59. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Аноним (??) on 14-Июл-16, 12:35 
> Не испытывает проблем если на вход подать бинарный файл или невалидный HTML;
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

27. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Аноним (??) on 14-Июл-16, 06:05 
Ждём новостей об уязвимостях. Хотя постойте.. нет, никто это не будет использовать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

65. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 13:10 
Уже используют.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

28. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 06:55 
Замечательно. Правда, я схему парсинга скрипта неосилил, поэтому вопрос: если в javascript-строке попадется </script> он будет считаться закрывающим тэгом как у всех или нет?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

46. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от lastmac email on 14-Июл-16, 10:48 
> Замечательно. Правда, я схему парсинга скрипта неосилил, поэтому вопрос: если в javascript-строке
> попадется </script> он будет считаться закрывающим тэгом как у всех или
> нет?

Там всё не так сложно, если долго смотреть на картинку)
Да, будет считаться закрывающим, так требует спецификация.

http://lexborisov.github.io/myhtml/img/script_data.png

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

29. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 07:02 
html5ever собирался с флагом --release?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

44. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от lastmac email on 14-Июл-16, 10:40 
> html5ever собирался с флагом --release?

Да, конечно.

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

30. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Аноним (??) on 14-Июл-16, 08:34 
А как в тестах проверялась корректность результатов? Т.е. что полученный вариант дерева во всех 4-х тестах на выходе совпадает. А то можно написать самый быстрый парсер, который будет выдавать на выходе полную ерунду. но быстро
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

32. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 08:38 
Хм, лично меня (в разумных пределах) скорость не очень волнует. Но вот если разработчику будет, в отличие от хромозилл, не плевать на мнение пользователей - это будет основной фичей. Начиная, скажем, от изначальной разработки с учётом возможности эффективно резать/править контент (адблокеры и прочее) и заканчивая удобным контролем из внешнего софта. Или, допустим, возможность подгрузки сишных плагинов, имеющих те же возможности, что и родные компоненты.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Аноним (??) on 14-Июл-16, 08:45 
расшифруй что значит не плевать на пользователей милок, с чего ты взял что если к твоему мнению не прислушались - то значит плюют на пользователей?
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

36. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 08:56 
Да. именно это и значит. Примеры я перечислял. А ещё есть многолетние баги, зато какой-нибудь покет запихнуть - это пожалуйста.

Вот на разработчиков им не плевать, это да. А как защищать пользователя от кривых рук и эгоистичности этих разработчиков - так в кусты.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

39. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 09:53 
а с чего ты взял что ты это все? в твоем приложении используется множественное число, но текст говорит что проблема специфична для тебя.

Кроме того, это же opensource молодой человек. У тебя есть исходники и ты можешь это все исправить сам, или можешь заплатить кому-то кто сделает это за тебя, если это важно именно для тебя.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

40. "Первый релиз многопоточного HTML-парсера MyHTML"  +2 +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 10:12 
Ну вот я так считаю, что проблема не специфична только для меня. На основании того, что вижу кругом, в том числе здесь на опеннете - можете глянуть на любую новость о мозилле, например.

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

А вообще - читать нотации идите... да хоть лесом, например.

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

71. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 13:29 
Если разработчику будет не плевать на мнение пользователей - то шансов как раз нет, потому что толпу пользователей, желающих Chrome, но с перламутровыми пуговицами, вы никогда не перекричите.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

74. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 13:45 
Поэтому им надо давать возможность пришить эти самые пуговицы. Как было в мозилле, только круче - чтобы можно было влезть в сами движки.
Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

75. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 13:49 
так вам дали эту возможность. Открыли код. А что за вас еще и пришить должны?
А вы заплатили за эту работу - которая нужна именно вам?
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

95. "Первый релиз многопоточного HTML-парсера MyHTML"  +2 +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 15:21 
Во-первых, там что открыли, что нет - сложность кода такая, что если нет специализированного API игра не стоит свеч - хоть сам делай, хоть кого-то нанимай, больно дорого. На то, чтобы въехать в код там месяц фуллтайм нужен примерно.

Во-вторых, я в гробу видел самостоятельно подобное поддерживать (а там правки в DOM-движок нужны, и немаленькие) или бодаться с корпоративной бюрократией, чтобы подобное приняли в апстрим.

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

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

P.S. у вас какой-то инвертированный взгляд на вещи. "Открытый код" для меня - это дефолт. Закрытый - извращение, для использования которого нужны какие-то особые основания. Поэтому не надо мне баек про "открытый код" как великую милость.

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

148. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 15-Июл-16, 08:00 
> Во-первых, там что открыли, что нет - сложность кода такая, что если
> нет специализированного API игра не стоит свеч - хоть сам делай,
> хоть кого-то нанимай, больно дорого. На то, чтобы въехать в код
> там месяц фуллтайм нужен примерно.

какая разница - сколько. Тебе дали возможность? или нет? Теперь ты ноешь что это сильно сложно для тебя ?

Ответить | Правка | ^ к родителю #95 | Наверх | Cообщить модератору

83. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 14:22 
Вы не помните сколько из-за XUL в мозилле было проблем?
Хорошая архитектура - это очень сложно.
Ответить | Правка | ^ к родителю #74 | Наверх | Cообщить модератору

92. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 15:08 
Я как раз с ним проблем не припомню. кроме, разве что, тормозности - дык это от того, что они его адово переусложнили и зачем-то прибили к джаваскрипту. А по нынешним временам можно вообще Qt брать и не париться.
Ответить | Правка | ^ к родителю #83 | Наверх | Cообщить модератору

98. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 15:38 
> кроме, разве что, тормозности - дык это от того, что они его адово переусложнили

Это замечательно смотрится в одной фразе с утверждениями о том что архитектура это просто, и проблем с XUL нет.

Ответить | Правка | ^ к родителю #92 | Наверх | Cообщить модератору

113. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 18:34 
Особых противоречий нет.
Не было проблем - то есть от него, грубо говоря, никто не умирал. Да, можно сделать быстрее и проще, но можно и оставить как есть.

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

Ответить | Правка | ^ к родителю #98 | Наверх | Cообщить модератору

131. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 21:46 
> Особых противоречий нет.
> Не было проблем - то есть от него, грубо говоря, никто не умирал. Да, можно сделать быстрее и проще, но можно и оставить как есть.

Это по состоянию на 2016 год "можно оставить". Вы не помните как оно тормозило именно из-за архитектурных решений вообще и XUL в частности?

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

Очень сложно. Упрощенный, но надеюсь, не до потери смысла, пример - у вас появляется плагин, который работает с layout tree. Что-то добавляет, что-то вырезает, что-то расставляет по-своему - не суть важно. Пускать его после окончания фазы лэйаута - значит фактически заново делать лэйаут, что почти удвоит время рендеринга. Пускать его внутрь - это либо описывать всю внутреннюю кухню вашего layout engine - что само по себе задача большая и скучная, и это будет все равно непонятно для 99% потенциальных плагинописателей, а 99% из оставшегося процента все равно всё сделают неправильно. Либо  придумывать такой API, который оставит за кадром все внутреннее алмазно-надфильное выпиливание, и обрамлять большим эксклюзивным локом весь плагин - и API нетривиальное, и тормоза будут как в том варианте с которого мы начали. И так везде, со всеми остановками.


Ответить | Правка | ^ к родителю #113 | Наверх | Cообщить модератору

145. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 15-Июл-16, 00:12 
Я на файрфоксе сидел с тех времён, когда он назывался firebird - с оперой вперемешку. Во всяком случае оно было достаточно юзабельным, чтобы не уходить.

Да, пускать внутрь. Там же всё равно есть какие-то свои модули, верно? А если там они так мутно взаимодействуют, что без поллитра не понять - то либо разгребать, либо хорошо документировать. Либо через год-два самого разработчика этот бардак догонит, что, собственно, с мозиллой сейчас и произошло, а до этого - с оперой. Принцип "модули должны быть понятны стороннему человеку с разумными усилиями" - это как раз критерий хорошей архитектуры, особенно на сях, где бороться с бардаком сравнительно сложно.

Ответить | Правка | ^ к родителю #131 | Наверх | Cообщить модератору

151. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 15-Июл-16, 10:10 
> Во всяком случае оно было достаточно юзабельным, чтобы не уходить.

На юниксах особенно некуда было уходить. А на всех остальных платформах никто массово  долгое время и не приходил, пока мощности процессоров не возросли, стоимость памяти не обвалилась.
Можно ли было сделать не так тормозящий XUL? Можно, но для хорошей имплементации хорошей архитектуры нужно еще на порядок больше усилий.

> Да, пускать внутрь. Там же всё равно есть какие-то свои модули, верно?
> А если там они так мутно взаимодействуют, что без поллитра не
> понять

Не мутно, но сложно. Не всякое сложно - мутно, хотя и из наблюдений за софтверным ландшафтом чаще всего складывается именно такое впечатление.
Посмотрите на редкие хорошие проекты - LuaJIT, Yesod. Они не мутные, но они сложные.

> то либо разгребать

Уменьшать связность компонентов, упрощать логику их взаимодействия и увеличивать их размер? Будет очень медленно.

> либо хорошо документировать.

Этот кейс я описал. Он ничему не поможет. Либо это будет краткое, даже пусть и точное описание ("моноид в категории эндофункторов"), которое никому ничего не даёт, либо толстый учебник, который никто не будет читать и на поддержание которого в актуальном состоянии будет уходить 99% времени. К тому же таланты к написанию хороших учебников есть у довольно малой части популяции.

> Либо через год-два самого разработчика этот бардак догонит, что, собственно, с мозиллой сейчас и произошло

Это разные проблемы, в общем случае ортогональные. LuaJIT, например, бардак не догнал.

> Принцип "модули должны быть понятны стороннему человеку с разумными усилиями" - это как раз критерий хорошей архитектуры

Как лозунг на стенку для воспитания джуниоров в правильном духе - годится.

> особенно на сях, где бороться с бардаком сравнительно сложно.

От языка эти вещи очень мало зависят. В разных языках бардак выглядит немного по-разному и создается немного разными средствами - только и всего.


Ответить | Правка | ^ к родителю #145 | Наверх | Cообщить модератору

61. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 12:38 
А с чего ты взял что проблема специфична только для него? Ты пробовал писать багрепорты авторам? Или думаешь он единственный кто пробовал?
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

76. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 13:50 
> А с чего ты взял что проблема специфична только для него? Ты
> пробовал писать багрепорты авторам? Или думаешь он единственный кто пробовал?

Писал и не раз. Когда это было интересно автору он правил, нет - patches are welcome.
А вы не пробовали присылать патчи авторам вместо того что бы скулить "ах бага не фиксится" ?

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

35. "Первый релиз многопоточного HTML-парсера MyHTML"  +2 +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 08:51 
Кстати - куда донейты слать?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

43. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от lastmac email on 14-Июл-16, 10:38 
Хороший вопрос. Я им не задавался и даже не знаю как это организовывается. Вот пару месяцев назад мне предлагали биткоинов, но я как-то застеснялся и отказался. Да и они незаконны у нас, вроде.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

58. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Crazy Alex (ok) on 14-Июл-16, 12:33 
У вас - это в России? Насколько я понимаю, не то чтобы незаконны, скорее  власти пока сами решить не могут, как к ним относиться. Но счёт в палке (и соответствующая кнопка Donate) точно возможны.

А если помечтать - то проект на indiegogo с какого-то момента был бы к месту...

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

38. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Аноним (??) on 14-Июл-16, 09:39 
Ждем выход браузера на этом деле.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

53. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 12:09 
Вот это проектик... Автор молодец!

P.S. Гулять так гулять! Я бы еще посмотрел парсер на асме :) Лет 10 назад какой-то профессор сообщал, что разработал супербыстрый парсер с использованием SIMD-инструкций. Там вроде там неплохое ускорение получалось.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

66. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 13:12 
SIMD-инструкции используются в довольно небольшой части парсинга, такой как проматывание до искомого символа, например.
И сюда их встроить совсем несложно.
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

70. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 13:27 
Интерестно, а можно будет потом этот "браузер" (парсер+рендерер) портануть на ARM11 для Symbian 9.x с помощью P.I.P.S.?

https://en.wikipedia.org/wiki/P.I.P.S.

https://sourceforge.net/projects/clibrariesforsy

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

78. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Kodir (ok) on 14-Июл-16, 14:02 
Стотыщный парсер протухшего HTML - оно надо? Гипертекст ущербен изначально, его основной смысл был в простейшем форматировании + ссылки (типа как сейчас markdown). Но совр. сайты и принципы дизайна ушли намного дальше даже полиграфии, поэтому без нового языка веб тихо деградирует и наполняется разной говённости сайтегами, где дизайнер тратит уйму времени на элементарные вещи.
Уже давно настало время за языком, неким гибридом внутреннего формата Adobe Illustrator и XAML.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

86. "Первый релиз многопоточного HTML-парсера MyHTML"  +3 +/
Сообщение от тоже Аноним email(ok) on 14-Июл-16, 14:27 
Ну, молодой человек, раз уж вы сами вышли к доске, расскажите нам о внутреннем формате AI.
Мы вас внимательно слушаем.
Ответить | Правка | ^ к родителю #78 | Наверх | Cообщить модератору

109. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от Аноним (??) on 14-Июл-16, 18:03 
В старых версиях -- PostScript, в новых -- PDF.
Ответить | Правка | ^ к родителю #86 | Наверх | Cообщить модератору

111. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от тоже Аноним (ok) on 14-Июл-16, 18:20 
Ну вот! А я-то и не подозревал.
Но мы должны идти глубже!
Вопрос первый: а что такое, собственно, PDF?
Вопрос второй: а что, в браузере правда не хватает еще одной ВМ, теперь еще для обсчета ПостСкрипта? Его просто распарсить недостаточно, в отличие от.
Вопрос третий: а со всей массой написанных за последние 20 лет скриптов и стилей мы будем прощаться без всякого сожаления?
Вопрос ключевой а зачем нам вся эта головная боль, если уже существует SVG?
Ответить | Правка | ^ к родителю #109 | Наверх | Cообщить модератору

132. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 21:49 
Переписать React на PostScript - я хотел бы на это посмотреть!
Ответить | Правка | ^ к родителю #111 | Наверх | Cообщить модератору

79. "Первый релиз многопоточного HTML-парсера MyHTML"  +1 +/
Сообщение от dq0s4y71 (??) on 14-Июл-16, 14:10 
А зачем нужно парсер HTML делать многопоточным? По-моему, даже у компиляторов промышленного уровня парсеры не делают многопоточными, потому что основное время тратится совсем не на парсинг.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

84. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 14:24 
Затем что быстрый парсер нужен далеко не только компиляторам.
Я бы даже сказал что компиляторам он нужен в последнюю очередь.
Ответить | Правка | ^ к родителю #79 | Наверх | Cообщить модератору

93. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от dq0s4y71 (??) on 14-Июл-16, 15:14 
Прирост в скорости разбора среднестатистической веб-страницы будет практически незаметен, зато сложность и ресурсоёмкость многопоточного парсера будет ощутимо выше.

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

Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

99. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 15:40 
Кому он будет незаметен?
Тому кто разбирает тысячи страниц в секунду, например, безо всякого рендеринга?
Ответить | Правка | ^ к родителю #93 | Наверх | Cообщить модератору

101. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от dq0s4y71 (??) on 14-Июл-16, 16:16 
В этом случае да, согласен.
Ответить | Правка | ^ к родителю #99 | Наверх | Cообщить модератору

94. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от dq0s4y71 (??) on 14-Июл-16, 15:16 
И, кстати, именно поэтому в GCC, в конце концов, отказались от bison и переписали парсер вручную.
Ответить | Правка | ^ к родителю #84 | Наверх | Cообщить модератору

81. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от dq0s4y71 (??) on 14-Июл-16, 14:19 
> Поддерживает C99;

Важная особенность? :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

103. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от lastmac email on 14-Июл-16, 16:48 
Нет, но глаз радует! :)
Ответить | Правка | ^ к родителю #81 | Наверх | Cообщить модератору

140. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 22:53 
Вот будете в прошлое путешествовать, сразу поймёте.
Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

158. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от dq0s4y71 (??) on 15-Июл-16, 12:59 
Тогда надо было написать "поддерживает ООП" или что-нибудь "визуальное". Школота это понимает.
Ответить | Правка | ^ к родителю #103 | Наверх | Cообщить модератору

85. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Антоним (ok) on 14-Июл-16, 14:26 
Жду не дождусь нативного браузера под андроид.

>Возможность добавлять, изменять и удалять элементы и их атрибуты;

Это киллер-фича (при соотв реализации).

К примеру, запретил
document.write
(все равно им одну рекламу вставляют)
И весь этот шлак удаляется на уровне парсинга, соотв не надо исполнять егойный выхлоп.
При этом сайт может остаться работоспособным и динамичным.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

87. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 14:35 
> К примеру, запретил document.write

Кто же вам мешает провести натурный эксперимент? Поправьте пару строчек отвечающих за обработку document.write в Chromium или Firefox, да и пройдитесь по интернетам.

Ответить | Правка | ^ к родителю #85 | Наверх | Cообщить модератору

106. "Первый релиз многопоточного HTML-парсера MyHTML"  –1 +/
Сообщение от Дуплик (ok) on 14-Июл-16, 17:25 
Спасибо, отличный софт!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

123. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от lastmac email on 14-Июл-16, 19:28 
Всегда рад помочь!
Ответить | Правка | ^ к родителю #106 | Наверх | Cообщить модератору

120. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от KR on 14-Июл-16, 18:54 
Неужели я вижу что-то, написанное не на новеньком модном Go/Rust/etc.?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

133. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 21:51 
На страницы таблоидов еще изредка попадает что-то написанное на Scala, но всё реже.
Clojure и D, недавние фавориты, уже совсем забыты.
Ответить | Правка | ^ к родителю #120 | Наверх | Cообщить модератору

135. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от rob pike on 14-Июл-16, 21:55 
> While I've never used html5ever it's landing page mentions that the DOM representation is pluggable (and suggests that the DOM included is mostly for demonstration purposes). Based on your benchmark repo it seems you're using a very simple C lib api wrapper around html5ever that indeed uses the proof-of-concept DOM.
> So you're benchmarking [i]something[/i], I'm just not sure it really means much (it's not the DOM servo uses, and even if you used that; it's not an apples-to-apples comparison since a real browser DOM is likely meant to be fast at post-load JS+CSS integration, and not just quick building).
> Personally, I think misleading benchmarks simply distract from a pretty cool pet project, so I'd just get rid of them (or think about with what you can make realistic comparisons, and how)

https://www.reddit.com/r/programming/comments/4snfz7/the_fir...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

137. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от lastmac email on 14-Июл-16, 22:13 
Читал. Странный комментарий. Автор предполагает и он не прав.
Все исходники в публичном доступе, всё можно посмотреть и потрогать.
Ответить | Правка | ^ к родителю #135 | Наверх | Cообщить модератору

142. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 14-Июл-16, 23:51 
Прекрасный проект, спасибо вам. Попробую написать обвязочку для luajit
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

146. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от lastmac email on 15-Июл-16, 05:35 
Вам спасибо! Для вас делаю.
Было бы крайне здорово. Вот ещё бы кто с обвязочкой для python помог.
Ответить | Правка | ^ к родителю #142 | Наверх | Cообщить модератору

152. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Аноним (??) on 15-Июл-16, 10:58 
Джва года ждал. Когда уже запилят браузер? Я недавно видел принципиально новый пармер javascript на Си.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

154. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от lastmac email on 15-Июл-16, 11:45 
Дело это не простое, но реализуемое. По прогнозам сложно что-то сказать. Могу сказать одно, что это дело не двух недель и даже не двух месяцев.

Можно ссылку на js на сях?

Ответить | Правка | ^ к родителю #152 | Наверх | Cообщить модератору

156. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Vsevolod Stakhov email on 15-Июл-16, 12:02 
http://duktape.org/

Он достаточно тормозной по сравнению с v8 и уж тем более luajit, но JS спецификациям, вроде бы, соотвествует. Еще есть v7 от cesanta, но там бездна GPL оккупации и весьма специфический стиль. Со скоростью, когда я его смотрел, были катастрофические проблемы.

Ответить | Правка | ^ к родителю #154 | Наверх | Cообщить модератору

157. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от Vsevolod Stakhov email on 15-Июл-16, 12:07 
Очень интересный набор фич и производительность, спасибо за работу!

Жалко, что проекта не было, когда я искал подходящий (как минимум, по скорости) парсер html для своего rspamd - пришлось написать собственный велосипед, заточенный только под фильтрацию спама. Впрочем, возможно, будет иметь смысл перейти на ваше решение в будущем.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

159. "Первый релиз многопоточного HTML-парсера MyHTML"  +/
Сообщение от lastmac email on 15-Июл-16, 18:13 
Спасибо!

Если перейдете на MyHTML то дайте знать, интересно кто использует у себя и как.

Ответить | Правка | ^ к родителю #157 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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