turbo - Turbo is a framework built for LuaJIT 2 to simplify the task of building fast and scalable network applications

  •        12

Turbo is a framework built for LuaJIT 2 to simplify the task of building fast and scalable network applications. It uses a event-driven, non-blocking, no thread design to deliver excellent performance and minimal footprint to high-load applications while also providing excellent support for embedded uses. The toolkit can be used for HTTP REST API's, traditional dynamic web pages through templating, open connections like WebSockets, or just as high level building blocks for native speed network applications. First and foremost the framework is aimed at the HTTP(S) protocol. This means web developers and HTTP API developers are the first class citizens. But the framework contains generic nuts and bolts such as; a I/O loop, IO Stream classes, customizeable TCP (with SSL) server classes giving it value for everyone doing any kind of high performance network application. It will also speak directly to your exising C libraries, and happily also create native C struct's for the ultimate memory and CPU performance.

http://turbo.readthedocs.io/
https://github.com/kernelsauce/turbo

Tags
Implementation
License
Platform

   




Related Projects

Kong - The Microservice API Gateway

  •    Lua

Kong is a cloud-native, fast, scalable, and distributed Microservice Abstraction Layer (also known as an API Gateway, API Middleware or in some cases Service Mesh). Backed by the battle-tested NGINX with a focus on high performance, Kong was made available as an open-source platform in 2015. Under active development, Kong is used in production at thousands of organizations from startups, Global 5000 and Government organizations.

James - Enterprise Mail Server

  •    Java

James (a.k.a Java Apache Mail Enterprise Server) is a 100% pure Java SMTP and POP3 Mail server, and NNTP News server designed to be a complete and portable enterprise mail/messaging engine solution based on currently available open messaging protocols.

libjpeg-turbo - Main libjpeg-turbo repository

  •    C

libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs.libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface.

evpp - A modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols

  •    C++

evpp is a modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols. evpp provides a TCP Server to support multi-threaded nonblocking event-drive server and also a HTTP, UDP Server to support http and udp prococol.NOTE: master is our development branch and may not be stable at all times.

turbo-ws - :dash: Blazing fast low-level WebSocket server

  •    Javascript

The minimum supported Node version is v8.10.0. Sends a ping frame that may contain a payload. The client must send a Pong frame with the same payload in response. Check the connection.on('pong') method for more details.


fossa - Async non-blocking multi-protocol networking library for C/C++

  •    C

Fossa is a multi-protocol networking library written in C. It provides easy to use event-driven interface that allows to implement network protocols or scalable network applications with little effort. Fossa helps developers to manage the complexity of network programming and let them concentrate on the logic, saving time and money. Fossa has built-in support for several protocols, like HTTP, Websocket, MQTT, mDNS. Example applications include Websocket-based chat server, JSON-RPC server, database server with RESTful API, MQTT broker, netcat with SSL and hexdump, Raspberry PI camera video feed + led control, and more.

thttpd - tiny/turbo/throttling HTTP server

  •    C

thttpd is a simple, small, portable, fast, and secure HTTP server. It also has one extremely useful feature (URL-traffic-based throttling) that no other server currently has. Plus, it supports IPv6 out of the box, no patching required.

gns3-server - GNS3 server

  •    Python

This is the GNS3 server repository. The GNS3 server manages emulators such as Dynamips, VirtualBox or Qemu/KVM. Clients like the GNS3 GUI controls the server using a HTTP REST API.

luaradio - A lightweight, embeddable software-defined radio framework built on LuaJIT

  •    Lua

LuaRadio is a lightweight, embeddable flow graph signal processing framework for software-defined radio. It provides a suite of source, sink, and processing blocks, with a simple API for defining flow graphs, running flow graphs, creating blocks, and creating data types. LuaRadio is built on LuaJIT, has a small binary footprint of under 750 KB (including LuaJIT), has no external hard dependencies, and is MIT licensed. LuaRadio can be used to rapidly prototype software radios, modulation/demodulation utilities, and signal processing experiments. It can also be embedded into existing radio applications to serve as a user scriptable engine for processing samples.

cpp-netlib - The C++ Network Library Project

  •    C++

The project aims to build upon the latest C++ standard (currently C++11) to provide easy to use libraries for network programming. We use the latest compiler versions and features with an eye on pushing the boundaries on leveraging what's available in C++. Currently the library contains an HTTP client and server implementation, a stand-alone URI library, a network message framework, and some concurrency tools.

Akka HTTP - The Streaming-first HTTP server/module of Akka

  •    Scala

The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream. It's not a web-framework but rather a more general toolkit for providing and consuming HTTP-based services. While interaction with a browser is of course also in scope it is not the primary focus of Akka HTTP.

turbo-http - Blazing fast low level http server

  •    Javascript

On my laptop I can serve simple hello world payloads at around 100k requests/seconds compared to 10k requests/second using node core. Emitted when a new http request is received.

Redisson - Redis based In-Memory Data Grid for Java

  •    Java

Redisson - distributed Java objects and services (Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Executor service, Tomcat Session Manager, Scheduler service, JCache API) on top of Redis server. Rich Redis client.

overpass-turbo - A web based data mining tool for OpenStreetMap using Overpass API.

  •    Javascript

This is a GUI for testing and developing queries for the Overpass-API. It can also used for simple analysis of OSM data. Just point your browser to overpass-turbo.eu and start running your Overpass queries.

ledge - An RFC compliant and ESI capable HTTP cache for Nginx / OpenResty, backed by Redis

  •    Lua

An RFC compliant and ESI capable HTTP cache for Nginx / OpenResty, backed by Redis. Ledge can be utilised as a fast, robust and scalable alternative to Squid / Varnish etc, either installed standalone or integrated into an existing Nginx server or load balancer.

node - Mysterium Node - VPN server and client for Mysterium Network

  •    Go

Cross-platform software to run a node in Mysterium Network. It contains Mysterium server (node), client API (tequila API) and client-cli (console client) for Mysterium Network. Currently node supports OpenVPN as its underlying VPN transport.

node-mitm - Intercept and mock outgoing Node

  •    Javascript

Mitm.js is a library for Node.js (and Io.js) to intercept and mock outgoing network TCP and HTTP connections. Mitm.js intercepts and gives you a Net.Socket to communicate as if you were the remote server. For HTTP requests it even gives you Http.IncomingMessage and Http.ServerResponse — just like you're used to when writing Node.js servers. Except there's no actual server running, it's all just In-Process Interception™. Intercepting connections and requests is extremely useful to test and ensure your code does what you expect. Assert on request parameters and send back various responses to your code without ever having to hit the real network. Fast as hell and a lot easier to develop with than external test servers.

thingspeak - ThingSpeak is an open source “Internet of Things” application and API to store and retrieve data from things using HTTP over the Internet or via a Local Area Network

  •    Ruby

ThingSpeak is an open source “Internet of Things” application and API to store and retrieve data from things using HTTP over the Internet or via a Local Area Network. With ThingSpeak, you can create sensor logging applications, location tracking applications, and a social network of things with status updates. In addition to storing and retrieving numeric and alphanumeric data, the ThingSpeak API allows for numeric data processing such as timescaling, averaging, median, summing, and rounding. Each ThingSpeak Channel supports data entries of up to 8 data fields, latitude, longitude, elevation, and status. The channel feeds support JSON, XML, and CSV formats for integration into applications.

pump.io - Social server with an ActivityStreams API

  •    Javascript

pump.io is a stream server that does most of what people really want from a social network. You post anything and my followers see it. It is an alternative to twitter. You can post almost anything that can be represented with activity streams -- short or long text, bookmarks, images, video, audio, events, geo checkins. You can follow friends, create lists of people, and so on.