The OpenNET Project / Index page

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



"Выпуск библиотеки libuv 1.45.0 с поддержкой подсистемы io_uring"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск библиотеки libuv 1.45.0 с поддержкой подсистемы io_uring"  +/
Сообщение от opennews (??), 29-Май-23, 11:53 
Опубликован выпуск библиотеки libuv 1.45.0, применяемой для мультиплексирования соединений и асинхронной обработки ввода/вывода во многих проектах, нацеленных на высокопроизводительную обработку сетевых и файловых запросов, например, в платформе Node.js, DNS-серверах BIND 9 и Knot DNS, HTTP-сервере H2O, Lua-фреймворке  Luvit,  виртуальной машине MoarVM,  языке Julia и   Python-фреймворке uvloop. Библиотека позволяет организовать цикл обработки событий в неблокирующем режиме, реализованный на базе таких методов, как epoll в  Linux, kqueue в BSD и macOS, IOCP в Windows и event ports в Solaris. Код проекта написан на языке Си и распространяется под лицензией MIT...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=59213

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

Оглавление

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

1. Сообщение от Аноним (1), 29-Май-23, 11:53   –15 +/
Т.е. теоритически работа Ноды может зависеть от версии ведра лол?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8, #45, #48

2. Сообщение от Аноним (2), 29-Май-23, 12:03   –7 +/
теперь однопоточная нода будет работать быстрее, чем типичная многопоточная прога на сишке, в которой авторы по религиозным соображениям ограничивает себя posix api (у дидов на юниксе не было io_uring)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #5, #23, #47

3. Сообщение от Annnno (?), 29-Май-23, 12:21   –2 +/
Мультимилионы зависимостей с вами не согласятся
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #4

4. Сообщение от Аноним (2), 29-Май-23, 12:38   +1 +/
у мультимиллионов зависимостей require('fs') автомагически получит ядерно-поддерживаемую асинхронщину вместо тред-пул-бейзед.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

5. Сообщение от keydon (ok), 29-Май-23, 12:40   +3 +/
Внезапно ОС-специфичные штуки нередко оказываются быстрее, но влияют на совместимость.
Никогда так не было и вот опять.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #10, #12, #17

6. Сообщение от Аноним (6), 29-Май-23, 12:45   +/
А для Rust будет?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #9, #18, #26

7. Сообщение от Ananimus (?), 29-Май-23, 12:46   +2 +/
Да, уже занесли.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

8. Сообщение от Аноним (8), 29-Май-23, 13:07   +/
Нет, практически зависит текстового редактора.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

9. Сообщение от Аноним (16), 29-Май-23, 13:08   +2 +/
Из безопастного языка вызывать небезопасную библиотеку? Некошерно же. Перепешите на Rust.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #13

10. Сообщение от Аноним (10), 29-Май-23, 13:09   –2 +/
Софт, не совместимый с AIX — не софт вовсе. Даже если поддержка совместимости вызывает проблемы и заставляет отказываться от новых фич — она обязана быть, ведь это UNIX-way
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #16

11. Сообщение от Аноним (13), 29-Май-23, 13:09   +/
8 мегабайт стек? Это много или мало? Типичный асинхронный пул в районе сотен тредов.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #61

12. Сообщение от Самый Лучший Гусь (?), 29-Май-23, 13:11   +/
А ничего кроме линукса в средне-вминяемом продакшене и не бывает. А там где бывает как правило быстрота не нужна.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #20

13. Сообщение от Аноним (13), 29-Май-23, 13:14   +1 +/
Почему, некошерно? Ведь уже известно, что на расте нельзя ничего написать серьёзного. И такими темпами не скоро ещё можно будет, где асинхронные генераторы? Сколько генераторный голод будет продолжаться? Это всё бюрократы проклятые. А так, любители поиграться со ржавчиной порадуются хоть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #14

14. Сообщение от Аноним (14), 29-Май-23, 13:19   +/
Слишком жирно, попробуй еще раз.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #15

15. Сообщение от Аноним (13), 29-Май-23, 13:22   –4 +/
Не, это то, почему лично я отправил раст на помойку до лучших времён, питон куда лучше справляется с асинхронной нагрузкой, и не зависанет рандомно опять же (и никакой возможности определить из-за чего).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

16. Сообщение от Аноним (16), 29-Май-23, 13:44   +/
Да ладно, в продакшоне уж давно Linux way.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

17. Сообщение от Аноним (17), 29-Май-23, 13:52   +7 +/
так вся эта библиотека и есть обертка для совместимости и единообразности работы с зоопарком - вокруг кучи разных костылей разных систем тебе дают единый костыль со своей единой абстракцией. Т.е., упрощенно, под капотом (под единой универсальной абстракцией) была спрятана поддержка 4-х движков, чтобы ты не мучался с каждой системой по отдельности и сейчас тебе добавили очередной частный 5-й. Да, это повлияло на совместимость - совместимость библиотеки с системами и их механизмами увеличилась. И да, тут получилось удачно, вопреки мему про "14-ть несовместимых + 1 универсальный протокол = 16 несовместимых протоколов" - этот "нулевой универсальный протокол" вышел таки хорошечным.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

18. Сообщение от Иисус (?), 29-Май-23, 13:57   +1 +/
Так давно уже всё написали. Вон в tokio поддержка ещё в далёком 2021 году появилась: https://tokio.rs/blog/2021-07-tokio-uring
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

20. Сообщение от keydon (ok), 29-Май-23, 14:09   +7 +/
> А ничего кроме линукса в средне-вминяемом продакшене и не бывает. А там
> где бывает как правило быстрота не нужна.

Фряхи еще встречаются в вменяемых продакшенах.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #21, #51

21. Сообщение от Аноним (21), 29-Май-23, 14:47   +/
Опять сейчас нетфликс притащат (а больше нечего).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #32

22. Сообщение от Аноним (22), 29-Май-23, 14:54   –2 +/
>выставление единого размера стека в 8 МБ для пула потоков на всех архитектурах и платформах

low-memory системы теперь на свалку?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24, #25, #27, #41, #63

23. Сообщение от Аноним (23), 29-Май-23, 15:55   –1 +/
Однопоточная нода будет работать быстрее из-за ключевой C-библиотеки - libuv.so
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #31

24. Сообщение от _hide_ (ok), 29-Май-23, 16:39   +1 +/
У разработчиков всё работает :-)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

25. Сообщение от Аноним (25), 29-Май-23, 16:55   +/
Тащить целую библиотеку в low-memory system? Ну уж нет, двигай биты вручную, как диды, ведь ты же именно этого хочешь, признайся себе. Кто не хочет, пусть берёт с полки читы с большим количеством памяти, благо они и дёшевы, и доступны для любого практического применения.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #43

26. Сообщение от Аноним (26), 29-Май-23, 16:57   –1 +/
https://lib.rs/crates/ringbahn
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #30

27. Сообщение от YetAnotherOnanym (ok), 29-Май-23, 17:24   –1 +/
Там обычно не требуются скорости, для которых придуман сабж.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #39

30. Сообщение от Вы забыли заполнить поле Name (?), 29-Май-23, 18:08   +1 +/
> https://lib.rs/crates/ringbahn

4 releases
0.0.0-experimental.3     Jun 19, 2020
0.0.0-experimental.2     Jun 8, 2020
0.0.0-experimental.1     May 27, 2020
0.0.0-experimental     May 26, 2020

Узнаю растоманов - люботелей обмазаться (не)свеженьким

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

31. Сообщение от Вы забыли заполнить поле Name (?), 29-Май-23, 18:11   +1 +/
Она статически линкуется
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

32. Сообщение от КриоМух (?), 29-Май-23, 19:04   +8 +/
Как это больше ничего? Ещё контора в которой я одминю. У меня тут пожалуйста и бэкапы и почтовик и vpn сервер и nginx и сайтики в клеточках и телефония многоголовая, всё это на милой фряшечке. Работает, не жужжит, пить - есть не просит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #46

38. Сообщение от ivan_erohin (?), 29-Май-23, 20:16   +1 +/
где анон, писавший в каждой новости про баги в io_uring "ненужное ненужно" ?
интересно, что он напишет сейчас ?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #44

39. Сообщение от Аноним (39), 29-Май-23, 20:20   +/
1. Зато там требуется энергоэффективность. А снизив оверхед (бесполезную трату времени, а значит - энергии (E = P * T, P = U**2/R * долю "светлого" кремния) можно либо большей энергоэффективности добиться, либо большей производительности.
2. Разработчики софта тебя спросить забыли. Просто возьмут и притащат либу, потому что им так удобно. И потребуют новую версию, потому что это тоже удобно, и там могут функции и API появится.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #40

40. Сообщение от Аноним (39), 29-Май-23, 20:23   +1 +/
Доля "светлого" кремния регулируется аппаратно в зависимости от того, на что чип рассчитан, программист её может только уменьшить, отправив программу спать. А уменьшение оверхеда - это уже работа программера.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

41. Сообщение от Славик (ok), 29-Май-23, 20:52   +/
А зачем сабж для таких систем? Пользуй liburing.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

43. Сообщение от Аноним (43), 29-Май-23, 22:49   +2 +/
>двигай биты вручную, как диды

Смузи не расплескай. Биты не трогай, даешь булев тип в 64 бита!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

44. Сообщение от анон (?), 29-Май-23, 23:24   –1 +/
> интересно, что он напишет сейчас ?

разумеется - "ненужное ненужно" напишу.

Безусловно твоя поделка на ноде тормозит из-за недостаточно модного апи в недостаточно свежей оберточке. А не потому что js с лефтпадами.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

45. Сообщение от Аноним (-), 30-Май-23, 03:09   +4 +/
Охренеть, оказывается, запросы програм на IO выполняет кернел операционки. Вот это прозрение!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

46. Сообщение от mistiqemail (ok), 30-Май-23, 04:26   +/
Нежно люблю фряху (академической любовью) но как конторка с сайтиками, телефонией и прочими впнами на фряхе коррелирует со словом "вменяемая"?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #49

47. Сообщение от Аноним (-), 30-Май-23, 05:34   –1 +/
> теперь однопоточная нода будет работать быстрее, чем типичная многопоточная прога на сишке,
> в которой авторы по религиозным соображениям ограничивает себя posix api (у дидов на
> юниксе не было io_uring)

...благодаря сишной либе? Легко стоять на плечах гигантов :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

48. Сообщение от iiiypuk (?), 30-Май-23, 07:18   +1 +/
Ранее из каждой жели орали "Linux не ниже 2.6"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

49. Сообщение от Кровосток (ok), 30-Май-23, 08:19   +2 +/
Многократно извиняюсь, что влезаю в ваш разговор.
Но человек выше - описал свой продакшен, описал что у него там работает. Вы поставили под сомнение вменяемость его личного прода, почему?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #50

50. Сообщение от mistiqemail (ok), 30-Май-23, 08:21   –2 +/
> Многократно извиняюсь, что влезаю в ваш разговор.
> Но человек выше - описал свой продакшен, описал что у него там
> работает. Вы поставили под сомнение вменяемость его личного прода, почему?

Прочитайте всю ветку, так есть ответ на ваш вопрос, в том числе и в моем ответе этому человеку.

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

51. Сообщение от Tron is Whistling (?), 30-Май-23, 09:40   –1 +/
> Фряхи еще встречаются в невменяемых продакшенах.

Fixed.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

52. Сообщение от Tron is Whistling (?), 30-Май-23, 09:43   +/
"применение io_uring в libuv позволяет добиться повышения пропускной способности в 8 раз"

Пропускной способности чего? В случае того же BIND обработка запросов тяжелее их пересылки в разы.
Или там пропускная способность фекалий в системе отведения измерялась?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #53, #54, #55

53. Сообщение от Tron is Whistling (?), 30-Май-23, 09:44   +1 +/
А я таки не ошибся :D

"Did some basic benchmarking, and it's giving me > 8x performance when reading small chunks out of /dev/zero"

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

54. Сообщение от Tron is Whistling (?), 30-Май-23, 09:46   +/
Ну и дальше, как обычно с иоуриной, началось...

"You know what's coming now... This change has introduced regressions in some file operations"
"So an official way to disable io_uring, preferably through the API, would be necessary for us."

Короче все проблемы с этой хренью у libuv ещё впереди :D Действительно, отключение не помешает.

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

55. Сообщение от another_one (ok), 30-Май-23, 11:05   +/
Можешь глянуть бенчмарки ноды с обновленным libuv:
https://ci.nodejs.org/view/Node.js%20benchmark/job/benc...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #56, #58

56. Сообщение от Tron is Whistling (?), 30-Май-23, 12:57   +/
Зачем мне нода?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #57

57. Сообщение от another_one (ok), 30-Май-23, 12:58   +/
Ну ты просил реально применение, а не /dev/zero
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #59

58. Сообщение от Tron is Whistling (?), 30-Май-23, 12:59   –1 +/
Тем более что про неё всё выше правильно отметили

"Безусловно твоя поделка на ноде тормозит из-за недостаточно модного апи в недостаточно свежей оберточке. А не потому что js с лефтпадами"

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

59. Сообщение от Tron is Whistling (?), 30-Май-23, 12:59   –1 +/
Это знаешь, как к газели двигатель от спорта приделывать. Смысл тот же.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

60. Сообщение от Аноним (60), 30-Май-23, 14:01   +/
Я просто оставлю это здесь. https://unixism.net/loti/
Ответить | Правка | Наверх | Cообщить модератору

61. Сообщение от Аноним (61), 30-Май-23, 17:28   +/
Но ведь она не выделяется вся сразу, а только необходимый объем?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

63. Сообщение от Аноним (-), 30-Май-23, 19:07   +1 +/
> low-memory системы теперь на свалку?

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

64. Сообщение от Аниномemail (?), 05-Июн-23, 14:25   +/
Было сравнение io_uring и epoll в работе с потоком. Epoll отказался быстрее.
Ответить | Правка | Наверх | Cообщить модератору


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

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




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

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