1
Общий раздел / Re: Парсер многогигабитных потоков данных
« : Апрель 29, 2015, 09:32:56 am »это же классическая задача поставщика-потребителя!
"Никто ни хрена не понимает за пределами своих собственных работ."
Онлайн компилятор Oberon-07/11
Путеводитель по Оберон-проектам.
Логи jabber-конференции.
Онлайн исходники BlackBox: тут:WeBB и на github
Исходники Project Oberon V4 на github.
Сборник решений задач книги "Современное программирование с нуля!" тут. А обсуждение здесь.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
это же классическая задача поставщика-потребителя!
Выделяется довольно большой кольцевой буфер. Единым куском памяти. Туда с начала и почти до конца (как придётся) пишутся данные из сети.Мне так нельзя по двум причинам:
Для таких случаев я запускаю разборщик в параллельном потоке. Он продвигается по рекурсивному спуску по мере поступления данных из главного потока. Для обмена данными я использую POSIX pipe(fd): в основном потоке - write(fd[1]), в параллельном - read(fd[0]).Очень красивое решение. Жаль не подходит для моего случая (потребуется одновременно более ста миллионов потоков).
Может интересно будет, вот ссылка на блог (метка H2O) http://blog.kazuhooku.com/search/label/H2O , где автор делится опытом создания быстрого веб-сервера и, в том числе, быстрого и к тому же ещё и stateless, http парсера.
Какая-то странная архитектура. Почему HTML декодер не может "спрашивать" у сборщика TCP необходимое количество через заданного размера буфер?Я пояснил это в первом сообщении. Запрашивать новые символы не может потому что их ещё нет. Они ещё не приехали. Да и буфера (в обычном смысле) тоже не может быть из-за строжайшего запрета на лишнее перекопирование (контроллер памяти не справится). Вместо буфера возможен небольшой список IP пакетов.
ээээ, извиняюсь, кто куда и как будет впихивать?Например, сборщик TCP отдаёт данные в HTML декодер, то есть данные толкаются из нижнего уровня в верхний. А в "обычном" парсере было бы наоборот, верхним уровнем данные запрашивались бы у нижнего уровня.
Описание:
Команда разработчиков краудфандингового сервиса «Дай пять» ищет себе по-настоящему несносного босса.
Обязанности
Разрешение конфликтных ситуаций
Сообщение об увольнении некомпетентным сотрудникам
Выбор поставщика готовой еды
Право решающего голоса на еженедельных собраниях
Разработка системы мотивации и демотивации
Быть беспощадным по отношению к конкурентам
Быть беспощадным по отношению к подчиненным
Требования к кандидату
1. Умение командовать
2. Строгость
3. Безжалостность к соблюдению сроков
4. Умение вызывать страх своим присутствием
5. Страсть к дорогим канцтоварам
6. Желание быть очень богатым
Условия работы
3 дня в неделю в офисе
Ненормированный рабочий день (доступность в скайпе 24 часа)
Оплата мобильного интернета и новый iPhone
Подарочная карта Starbucks
Для того, чтобы претендовать на вакансию, Вам необязательно разбираться в современных стартап-трендах и особенностях построения интерфейсов. Нам нужен босс, который доведет проект до запуска жесткой рукой используя все доступные для этого средства, пусть даже он руководил фермой по разведению кенгуру. Важны только ваши личностные качества.
Описание проекта
Краудфандиговая платформа «Дай пять» основана в 2013 году. Объем частных инвестиций — $500 000
В данный момент имеется полностью готовый продукт с финансированием на срок от 1,5 лет или до момента самоокупаемости. Старт проекта 27 ноября
Вот - ЧТО ЧИТАТЬ и СМОТРЕТЬ? ?? Хочется ХОРОШЕЙ фантастики, а её - НЕТ.Рекомендую прочитать - Вернор Виндж "Глубина в небе".