@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 сисколл

Admin
ERROR: S client not available

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

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

Аля джсон

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

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

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

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

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

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

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

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