Displaying 1 to 20 from 31 results

Mio - Metal IO library for Rust

  •    Rust

Mio is a lightweight I/O library for Rust with a focus on adding as little overhead as possible over the OS abstractions. This is a low level library, if you are looking for something easier to get started with Tokio. Its feature include Non-blocking TCP and UDP, I/O event queue backed by epoll, kqueue, and IOCP.

gnet - 🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go

  •    Go

gnet is an event-driven networking framework that is fast and lightweight. It makes direct epoll and kqueue syscalls rather than using the standard Go net package and works in a similar manner as netty and libuv, which makes gnet achieve a much higher performance than Go net. gnet is not designed to displace the standard Go net package, but to create a networking server framework for Go that performs on par with Redis and Haproxy for networking packets handling.

Node.JS - Builds Scalable Network Programs

  •    Javascript

Node.js is a server-side JavaScript environment that uses an asynchronous event-driven model. It could handle thousands of concurrent connections. This allows Node.js to get excellent performance based on the architectures of many Internet applications. It is an evented I/O for V8, which is Google's open source JavaScript engine.

Tornado - Non-blocking Web Server powers FriendFeed

  •    Python

Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. The framework is distinct from most mainstream web server frameworks (and certainly most Python frameworks) because it is non-blocking and reasonably fast. Because it is non-blocking and uses epoll, it can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services. Tornado is one of Facebook's open source technologies.

zaver - Yet another fast and efficient HTTP server

  •    C

Yet another fast and efficient HTTP server. The purpose of Zaver is to help developers understand how to write a high performance server based on epoll. Although Nginx is a good learning example, its complexity and huge code base make people discouraged. Zaver uses as few codes as possible to demonstrate the core structure of high performance server like Nginx. Developers can lay a solid foundation by learning Zaver for further study in network programming.

libfiber - The high performance coroutine library for Linux/FreeBSD/MacOS/Windows, supporting select/poll/epoll/kqueue/iocp/windows GUI

  •    C++

The libfiber project comes from the coroutine module of the acl project in lib_fiber directory of which. It can be used on OS platfroms including Linux, FreeBSD, MacOS, and Windows, which supports select, poll, epoll, kqueue, iocp, and even Windows GUI messages for different platfrom. With libfiber, you can write network application services having the high performance and large cocurrent more easily than the traditional asynchronus framework with event-driven model. What's more, with the help of libfiber, you can even write network module of the Windows GUI application written by MFC, wtl or other GUI framework on Windows in coroutine way. That's realy amazing. The libfiber supports many events including select/poll/epoll/kqueue/iocp, and Windows GUI messages.

Monkey HTTP Daemon - Web Server for Linux

  •    C

Monkey HTTP Daemon, is a very Small, Fast and Lightweight open source Web Server for GNU/Linux. It has been designed to be very scalable with low memory and CPU consumption, the perfect solution for embedded and high production environments. It is asynchronous and event driven. It supports virtual hosts, SSL, Logs etc.

1m-go-tcp-server - benchmarks for implementation of servers which support 1 million connections

  •    Go

client sends the next request only when it has received the response. it has not used the pipeline style to test.

gaio - High performance async-io(proactor) networking for Golang。golangのための高性能非同期io(proactor)ネットワーキング

  •    Go

For a typical golang network program, you would first conn := lis.Accept() to get a connection and go func(net.Conn) to start a goroutine for handling the incoming data, then you would buf:=make([]byte, 4096) to allocate some buffer and finally waits on conn.Read(buf). For a server holding >10K connections with frequent short messages(e.g. < 512B), cost for context switching is much more expensive than receiving message(a context switch needs at least 1000 CPU cycles or 600ns on 2.1GHz).

Push Framework

  •    C++

Push Framework is an open source C++ Toolkit for high-performance server development. Write asynchronous, multithreaded servers in few lines of codes. Monitor realtime activity with a deploy-only dashboard.

inSecure-SHell - A telnet like client/server application using pseudo-terminals (pty) that runs a Bash shell session on the remote server

  •    C

A telnet like client/server application using pseudo-terminals (pty) that runs a Bash shell session on the remote server. [fork,forkpty,select,epoll,ipv6]

epoll - A low-level Node.js binding for the Linux epoll API

  •    C++

A low-level Node.js binding for the Linux epoll API for monitoring multiple file descriptors to see if I/O is possible on any of them.This module was initially written to detect EPOLLPRI events indicating that urgent data is available for reading. EPOLLPRI events are triggered by interrupt generating GPIO pins. The epoll module is used by onoff to detect such interrupts.

vino - Vino is a lightweight and efficient web server.

  •    C

Vino is a lightweight and efficient web server written in the C programming language.For now Vino only support Linux 2.6 or later.

libuev - Lightweight event loop library for Linux

  •    C

libuEv is a simple event loop in the style of the more established libevent, libev and the venerable Xt(3) event loop. The u (micro) in the name refers to both the small feature set and the small size overhead impact of the library. Failure mode changes introduced in v2.0 may affect users of v1.x, See the ChangeLog for the full details.

tcpsocks - Redirect traffic to SOCKS5 server with iptables, epoll based, single threaded.

  •    C

Simple Linux epoll-based single thread SOCKS5 client. Supports getting destination address with SO_ORIGINAL_DST (for use with -j REDIRECT iptables target) and telling that address to SOCKS server. tcpsocks allow interactive control of connections: you can list then and kill (by specifying fd). When listing, it prints uploaded/downloaded bytes for each connection.

epoll - epoll(7) binding in Ruby

  •    Ruby

A binding of epoll(7) on Ruby.

spook - Lightweight programmable evented utility based on LuaJIT and ljsyscall

  •    MoonScript

Spook started out as a light weight replacement for guard but has become more than that over time. It is mostly written in MoonScript, a language that compiles to Lua - with a sprinkle of C. It's built as a single binary. The ridiculously fast LuaJIT VM is embedded and compiled with Lua 5.2 compatibility. Extensions are easily written in MoonScript, which is also part of the compiled binary. While spook may seem to be geared towards running tests in a feedback loop, there are many other potential uses. For some inspiration, check out my i3bar implementation moonbar for the i3 window manager which is also using a Spookfile but is doing something very different. Otherwise the Spookfile in this repo and the examples in the readme should point you in the right direction if you're just looking for a lightweight test feedback loop runner.

lotos - tiny but high-performance HTTP Server

  •    C

Lotos is a tiny but high-performance HTTP WebServer following the Reactor model, using non-blocking IO and IO multiplexing(epoll ET) to handle concurrency. Lotos is written in pure c and well tested. Several HTTP headers (Connection, Content-Length, etc.) is supported and more will be added in the future. then you can visit http://localhost:8888/.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.