Ah, the classic tale of reinventing the wheel 🛞! Behold, the famed network server pattern, dear reader: marvel as it twiddles its thumbs for an event, then dispatches like a waiter at a Michelin-star restaurant 🍽️. Forget progress, let's wrap "epoll" and "kqueue" in redundant libraries and call it #innovation. 🚀
https://geocar.sdf1.org/fast-servers.html #reinventingthewheel #networkserver #epoll #kqueue #softwaredevelopment #HackerNews #ngated
fast-servers

🎉 Behold the groundbreaking revelation: wrapping #io_uring and #kqueue in a warm, fuzzy blanket to make them "user-friendly" for programmers who apparently can't handle raw I/O. 🙄 Gather 'round, fellow developers, for the riveting journey from blocking I/O to... an event loop that looks suspiciously like every other one you've seen. 🤦‍♂️
https://tigerbeetle.com/blog/2022-11-23-a-friendly-abstraction-over-iouring-and-kqueue/ #userfriendly #programming #eventloop #HackerNews #ngated
A Programmer-Friendly I/O Abstraction Over io_uring and kqueue

Insights, updates, and technical deep dives on building a high-performance financial transactions database.

A Programmer-Friendly I/O Abstraction Over io_uring and kqueue

Insights, updates, and technical deep dives on building a high-performance financial transactions database.

🌘 一個對 io_uring 和 kqueue 友善的程式設計師 I/O 抽象層
➤ 從阻塞式 I/O 到高效事件驅動模型
https://tigerbeetle.com/blog/2022-11-23-a-friendly-abstraction-over-iouring-and-kqueue/
本文探討了傳統阻塞式 I/O 的侷限性,並深入介紹了 Linux 的 io_uring 和 FreeBSD/macOS 的 kqueue 這兩種高效 I/O 處理機制。作者展示瞭如何利用這兩種機制,將 I/O 操作從使用者空間移至核心空間,大幅減少系統呼叫的開銷。此外,文章提出了一種「中央 I/O 調度」的抽象層,讓開發者無需關心底層的 io_uring 或 kqueue 實作細節,只需透過統一的介面提交 I/O 請求並註冊回呼函式,即可實現更簡潔、更具擴展性的 I/O 處理邏輯,最終建立起一個類似於傳統事件迴圈的 I/O 處理模型。
+ 這篇文章對於理解 io_uring 和 kqueue 的核心概念非常有幫助!作者的
#程式設計 #IO #io_uring #kqueue #效能
A Programmer-Friendly I/O Abstraction Over io_uring and kqueue

Insights, updates, and technical deep dives on building a high-performance financial transactions database.

I started documenting kernel side #kqueue on #FreeBSD. At this point it is just a brain dump, so I need help improving https://github.com/mekanix/freebsd-src/tree/kqueue-docs. @dexter got any tips except contacting man page author?
GitHub - mekanix/freebsd-src at feature/blacklist-remove

FreeBSD src tree (read-only mirror). Contribute to mekanix/freebsd-src development by creating an account on GitHub.

GitHub

@feld @david_chisnall @meka

More generally: #kqueue still has several ragged edges, compared to poll/select.

https://tty0.social/@JdeBP/114574054783681506

https://tty0.social/@JdeBP/114575142459347113

Every little helps in order to fill in all of these gaps.

#FreeBSD

JdeBP (@[email protected])

@[email protected] It is always welcome to see more kevent(), if only because it lets other people share my pain, in the hope that that increases the push for kevent() to be fully completed and as good as select(). There are a number of cases I have hit over the years kevent() cannot *quite* do what select() does. #FreeBSD #kqueue

tty0.social

I submitted my #kqueue support for sound(4) on #FreeBSD. I hope we will polish it soon enough. https://reviews.freebsd.org/D53029

cc @JdeBP

⚙ D53029 Add kqueue(9) support to sound(4)

🌘 I/O 多工處理:select、poll 與 epoll/kqueue 的演進與效能探討
➤ 從 select 的限制到 epoll/kqueue 的高效能事件驅動架構
https://nima101.github.io/io_multiplexing
本文深入探討了 Unix-like 系統中 I/O 多工處理的演進,從早期的 select 和 poll,到現代高效能的 epoll (Linux) 和 kqueue (macOS)。作者詳細闡述了 select 的 O(n) 時間複雜度和潛在的堆疊溢位風險,以及 poll 如何克服 fd 數量限制但仍存在 O(n) 的效能瓶頸。接著,文章著重介紹了 epoll 和 kqueue 的設計原理,說明它們如何透過事件註冊與回調機制,大幅提升系統的擴展性和效率,特別適用於處理大量併發連線的場景。
+ select 的堆疊問題實在太可怕了!還好有 poll 和 epoll/kqueue 來解決。
+ 這篇文章對
#C #select #poll #epoll #kqueue #網路 #學習 #Linux #kernel #IO 多工
I/O Multiplexing (select vs. poll vs. epoll/kqueue)

Problems and Algorithms

Problems and Algorithms
🤔 Oh great, another ex-ad guru turned tech philosopher pontificating on the riveting world of I/O multiplexing. Who knew dodging pop-up ads would qualify you to decipher the cryptic nuances of `select`, `poll`, and `epoll`? 🚀 Maybe next they'll teach us how to cast spells with `kqueue`! 😂
https://nima101.github.io/io_multiplexing #exadguru #techphilosophy #I/Omultiplexing #programminghumor #kqueue #HackerNews #ngated
I/O Multiplexing (select vs. poll vs. epoll/kqueue)

Problems and Algorithms

Problems and Algorithms
I/O Multiplexing (select vs. poll vs. epoll/kqueue)

Problems and Algorithms

Problems and Algorithms