@devops_ru

Страница 2279 из 4568
Марк ☢
11.02.2017
18:04:30
Сейчас -- да

Google
Nikolay
11.02.2017
18:05:02
и неважно, что на входе

Sergey
11.02.2017
18:05:10
камушки емнип нынче умеют парсить протокол на linerate не напрягаясь

Nikolay
11.02.2017
18:05:12
писаться будет только тогда, когда сокет готов

поэтому причины фейспалма и не вижу

Roman
11.02.2017
18:05:37
Nikolay
11.02.2017
18:05:40
оно так и работает

как я написал

Roman
11.02.2017
18:06:30
Sergey
11.02.2017
18:07:01
а что, есть ещё какие-то протоколы? ?

Roman
11.02.2017
18:07:02
я про http1
так там ещё сверху могут навернуть. тот же гребаный multipart-formdata

Google
Nikolay
11.02.2017
18:07:06
вот это.
то есть нельзя epoll на udp-сокет? почему вдруг?

на запись асинхронную

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

Roman
11.02.2017
18:07:39
то есть нельзя epoll на udp-сокет? почему вдруг?
нет. речь о том, что epoll не обязательно на сокет.

Nikolay
11.02.2017
18:07:53
нет. речь о том, что epoll не обязательно на сокет.
а, так это-то очевидно, я применительно к сети говорил

я просто думал, что это очевидный факт и его не надо писать :)

Roman
11.02.2017
18:08:42
вообще, кардинально ситуацию с производительностью может исправить переделка апи между ядром и юзерлендом.

но на это мало кто пойдёт.

Марк ☢
11.02.2017
18:09:08
Почему же. Пытаются libaio

Roman
11.02.2017
18:09:22
Марк ☢
11.02.2017
18:10:03
это не то =(
А что ты имеешь в виду ?

Марк ☢
11.02.2017
18:11:21
Vmsplice ?

Roman
11.02.2017
18:11:22
вообщем, нам надо иметь возможность в epoll добавить пачку fd с соответствующими масками.

Nikolay
11.02.2017
18:11:28
там как раз на уровне модуля ядра логика реализована

Roman
11.02.2017
18:11:56
ну и из epoll получать пачку сразу

Марк ☢
11.02.2017
18:12:13
Roman
11.02.2017
18:12:57
а, вру. сейчас epoll_wait возвращает пачку событий.

Марк ☢
11.02.2017
18:13:18
Google
Roman
11.02.2017
18:13:36
Нахуа. Маски можно не менять вобще. Для этого есть epollet
ну так ты всегда читаешь из сокета? ))

Марк ☢
11.02.2017
18:14:16
Ты не понял. Единожды сообщив что в сокете есть данные -- ядро не будет больше теребонькать пока я не вычитаю всё

Грубо

Марк ☢
11.02.2017
18:14:31
Это EPOLLET

Nikolay
11.02.2017
18:14:43
есть edge-triggered, есть level-triggered

Марк ☢
11.02.2017
18:15:05
эээ... а если придут новые данные?
Всеравно не будет. Прочитай плиз про еполлет

Roman
11.02.2017
18:15:12
тьфу, про ET

Nikolay
11.02.2017
18:15:58
тьфу, про ET
ну я понял, просто указал, что это не единственный вариант :)

Roman
11.02.2017
18:15:58
Всеравно не будет. Прочитай плиз про еполлет
ну, это часть проблемы. ещё надо расширить writev/readv до нескольких fd

Nikolay
11.02.2017
18:16:33
ну, это часть проблемы. ещё надо расширить writev/readv до нескольких fd
еще скажи - реализовать это как векторную операцию на чипе сетевухи :)

Марк ☢
11.02.2017
18:16:39
ну, это часть проблемы. ещё надо расширить writev/readv до нескольких fd
О. Эт тема. Для удп сдлали sendmmsg и это сильно улучшило дела

Roman
11.02.2017
18:17:56
О. Эт тема. Для удп сдлали sendmmsg и это сильно улучшило дела
угу. тот же батчинг, что во всяких dpdk/netmap

Марк ☢
11.02.2017
18:18:04
ну, это часть проблемы. ещё надо расширить writev/readv до нескольких fd
И да. Такой интерфейс по сути называется нетлинксокет. Где вместо сисколлов шлешь данные со структурами типа джсон по смыслу.

И там есть memory-mapped io. Сечешь о чем это я ?

Roman
11.02.2017
18:18:55
эээ

пойду почитаю )

Марк ☢
11.02.2017
18:19:18
Сейчас нетлинксокет используется для всякой хери

Google
Марк ☢
11.02.2017
18:19:43
Почему б не всунуть туда вызов сисколлов какгбы -- не знаю

пойду почитаю )
Например работа с таблицей маршрутов идет через нетлинксокет

Nikolay
11.02.2017
18:20:32
Почему б не всунуть туда вызов сисколлов какгбы -- не знаю
то есть чтобы epoll возвращал тебе сразу вектор событий и писать ты тоже мог вектор?

Марк ☢
11.02.2017
18:21:39
то есть чтобы epoll возвращал тебе сразу вектор событий и писать ты тоже мог вектор?
Да. Наверно. Смысл в чем. Сисколлы ограничены в количестве передавамых параметров. Когда не влезает -- начинают придумывать структуры и массивы типа poll.

А в нетлинксокете все уже придумано в плане структур

Roman
11.02.2017
18:22:12
дело даже не в этом

а в количестве операций, которые можно сделать за 1 сисколл

Марк ☢
11.02.2017
18:22:49
В нетлинксокете ты сам волен придумывать структуру

Там есть массивы и вложенности

Аля джсон

Тока все бинарное понятно

Nikolay
11.02.2017
18:23:17
другое дело, если этот векторный сисколл будет выполняться дольше, чем n обычных - будет фигня

Марк ☢
11.02.2017
18:23:48
Говорят, парсинг этой. Труктуры адски быстрый. Пожтому не должно. И будет таки выгода от пачечности

У меня на гитхабе есть nltrace он позволяет трейсить проги не написанные через libnl3. Очень ограничено конечно. Но уже коечто

Давно писал. Не забрасывайте какашками

Но оно работает

Vladimir
11.02.2017
18:26:16
ну, про библиотеки я говорю в рамках своей сферы деятельности - в го для нее просто нет ничего
Ну так ты понимаешь что фраза "под го нет библиотек" и "под го нет библиотек для дата анализа" это две разных фразы и подмена понятий это не есть хорошо?

Google
Nikolay
11.02.2017
18:27:24
Ну так ты понимаешь что фраза "под го нет библиотек" и "под го нет библиотек для дата анализа" это две разных фразы и подмена понятий это не есть хорошо?
так я и писал мое субъективное мнение, почему мне не нравится го и почему я сейчас не буду его использовать

кому-то он может нравится и решать его задачу - на здоровье

Vladimir
11.02.2017
18:27:45
Да ну уж ладно. А у кого быстрее ? И полностью по рфц при том ?
у h2o picohttpparser - либа на сях, оптимизации на асме, быстрее чем у nginx + есть еще патчи задействующие avx2

Nikolay
11.02.2017
18:27:50
более того, ты не поверишь, но я выше в чате защищал го

Марк ☢
11.02.2017
18:28:22
Хм. А нодеджсники взяли парсер именно у нгинкса, емнип

Но им же и для малинки надо.

Roman
11.02.2017
18:29:28
у h2o picohttpparser - либа на сях, оптимизации на асме, быстрее чем у nginx + есть еще патчи задействующие avx2
там ещё им кто-то патчи засылал, дающие ускорение где-то в 1.5 раза

Nikolay
11.02.2017
18:29:32
у picohttpparser одна проблема, как я вижу - его вряд ли возьмут в ядро какого-либо языка

потому что он заточен под конкретные платформы и архитектуры проца

разве нет?

там хитрые SSE-инструкции он раскладывает

Марк ☢
11.02.2017
18:30:08
А там нет чтоли с выключенными оптимизациями ?

Тоесть на голом си

Nikolay
11.02.2017
18:30:24
нинаю

но вообще в этом и суть

Марк ☢
11.02.2017
18:30:39
Темпестники написали сами. Тоже с авэикс

Nikolay
11.02.2017
18:30:48
он использует магию современных инструкций, чтобы быстро все обрабатывать

Vladimir
11.02.2017
18:33:03
там ещё им кто-то патчи засылал, дающие ускорение где-то в 1.5 раза
как раз на avx2 клаудфлейр куски переписывали, но они там посрались с автором по поводу идеоматичности их кода

https://github.com/h2o/picohttpparser/pull/10

Марк ☢
11.02.2017
18:34:16
И с ними хуже или лучше нгинкса ?

Страница 2279 из 4568