All Projects → frevib → Io_uring Echo Server

frevib / Io_uring Echo Server

Licence: mit
io_uring echo server

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Io uring Echo Server

Blocked At
Detects node eventloop block and reports where it started
Stars: ✭ 219 (+41.29%)
Mutual labels:  event-loop
Amp
A non-blocking concurrency framework for PHP applications. 🐘
Stars: ✭ 3,457 (+2130.32%)
Mutual labels:  event-loop
Actor.js
Elixir-style actors in JavaScript
Stars: ✭ 48 (-69.03%)
Mutual labels:  event-loop
simple-event-loop
Fully-functional Event Loop in 100 Lines of Python
Stars: ✭ 52 (-66.45%)
Mutual labels:  event-loop
kwang
High Performance Kotlin Native Web Framework based on Lwan
Stars: ✭ 59 (-61.94%)
Mutual labels:  event-loop
React Article Bucket
总结,积累,分享,传播JavaScript各模块核心知识点文章全集,欢迎star,issue(勿fork,内容可能随时修改)。webpack核心内容部分请查看专栏: https://github.com/liangklfangl/webpack-core-usage
Stars: ✭ 750 (+383.87%)
Mutual labels:  event-loop
Event Loop
An event loop interface for interoperability in PHP.
Stars: ✭ 170 (+9.68%)
Mutual labels:  event-loop
Eve
An extensible event-driven application framework in haskell
Stars: ✭ 101 (-34.84%)
Mutual labels:  event-loop
reactive-slim
A bridge to use SlimPHP within ReactPHP
Stars: ✭ 25 (-83.87%)
Mutual labels:  event-loop
Uvloop
Ultra fast asyncio event loop.
Stars: ✭ 8,246 (+5220%)
Mutual labels:  event-loop
all-about-node
All about Node.js
Stars: ✭ 16 (-89.68%)
Mutual labels:  event-loop
nodejs
Node.js in-process collectors for Instana
Stars: ✭ 66 (-57.42%)
Mutual labels:  event-loop
Event Loop
ReactPHP's core reactor event loop that libraries can use for evented I/O.
Stars: ✭ 945 (+509.68%)
Mutual labels:  event-loop
Nest asyncio
Patch asyncio to allow nested event loops
Stars: ✭ 226 (+45.81%)
Mutual labels:  event-loop
Envelop.c
🌊 Thread-less, event-loop based tiny http-server from scratch using epoll. Learning Purpose.
Stars: ✭ 75 (-51.61%)
Mutual labels:  event-loop
Mojo
✨ Mojolicious - Perl real-time web framework
Stars: ✭ 2,298 (+1382.58%)
Mutual labels:  event-loop
Gnet
🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。
Stars: ✭ 5,736 (+3600.65%)
Mutual labels:  event-loop
Kuma
A network library implemented in C++, supports TCP/UDP/HTTP/HTTP2/WebSocket/SSL on platform Linux/Windows/OSX/iOS/Android.
Stars: ✭ 133 (-14.19%)
Mutual labels:  event-loop
Uvw
Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
Stars: ✭ 1,222 (+688.39%)
Mutual labels:  event-loop
Gmq
基于事件机制的多模块框架,支持动态库,grpc,websocket,mqtt等多种与后端通信组合方式. 模块动态替换,部分加载或者升级.
Stars: ✭ 31 (-80%)
Mutual labels:  event-loop

io_uring bare minimum echo server

  • uses an event loop created with io_uring
  • uses liburing HEAD https://github.com/axboe/liburing
  • Linux 5.7 or higher with IORING_FEAT_FAST_POLL and IORING_OP_PROVIDE_BUFFERS required

Install and run

make liburing

make io_uring_echo_server

./io_uring_echo_server [port_number]

compare with epoll echo server

https://github.com/frevib/epoll-echo-server

Benchmarks (without buffer selection)

https://github.com/frevib/io_uring-echo-server/blob/io-uring-feat-fast-poll/benchmarks/benchmarks.md

Versions

v1.6

  • Use IORING_OP_PROVIDE_BUFFERS

v1.5

  • Use IORING_FEAT_FAST_POLL, which increases performance a lot
  • Remove all polling, this is now handled by IORING_FEAT_FAST_POLL

v1.4

Fix bug that massively overstated the performance.

v1.3

Use pre-allocated sqe->user_data instead of dynamically allocating memory.

v1.1

Fix memory leak.

v1.0

Working release.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].