lwan
libuv
Our great sponsors
lwan | libuv | |
---|---|---|
7 | 75 | |
5,898 | 23,241 | |
- | 1.4% | |
9.0 | 9.0 | |
5 days ago | 3 days ago | |
C | C | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
lwan
- Show HN: Nano-web, a low latency one binary webserver designed for serving SPAs
-
Show HN: Host a Website in the URL
Absolutely useless fun tech demos are the best kind of demos
https://github.com/lpereira/lwan - presume this is the web server library you're referring to? Very cool.
- Ask HN: Those making $0/month or less on side projects – Show and tell
-
Idea for a long-term advanced C project
I think a web-application based on https://github.com/lpereira/lwan and https://github.com/SanderMertens/flecs would be interesting. It would probably be faster than any other web-application out there. https://www.techempower.com/benchmarks/#section=data-r10&hw=ph&test=json.
-
Performance of coroutine-style lexers in Go
You don't have to use a channel for coordination. Here is a lexer implementation (in C!) that very closely follows Rob Pike's talk and uses a ring buffer for coordination and is plenty fast.
https://github.com/lpereira/lwan/blob/master/src/lib/lwan-te...
If you watch the talk carefully, Rob Pike himself mentions this near the end of the talk.
- Good C Source Code
-
C Deep
lwan - Experimental, scalable, high-performance HTTP server. GPL-2.0-only
libuv
- Epoll: The API that powers the modern internet (2022)
-
APIs in Go with Huma 2.0
I wound up on a different team with pre-existing Python code so temporarily shelved my use of Go for a bit, and we used Sanic (an async Python framework built on top of the excellent uvloop & libuv that also powers Node.js) to build some APIs for live channel management & operations. We hand-wrote our OpenAPI and used it to generate documentation and a CLI, which was an improvement over what was there (or not) before. Other teams used the OpenAPI document to generate SDKs to interact with our service.
- Python Is Easy. Go Is Simple. Simple = Easy
-
Notes: Advanced Node.js Concepts by Stephen Grider
In the source code of the Node.js opensource project, lib folder contains JavaScript code, mostly wrappers over C++ and function definitions. On the contrary, src folder contains C++ implementations of the functions, which pulls dependencies from the V8 project, the libuv project, the zlib project, the llhttp project, and many more - which are all placed at the deps folder.
- A Magia do Event Loop
-
A complete guide to the Node.js event loop
Libuv, the C library that gives Node.js its asynchronous, non-blocking I/O capability is responsible for managing the thread pool. Node.js gives you the capability of using additional threads for computationally expensive and long-lasting operations to avoid blocking the event loop.
-
What is Node.js?: A Complete Guide
Node.js is written in C, C++, and JavaScript. The core components of Node.js - the V8 engine and the libuv library - are written in C++ and C, respectively, since these languages provide low-level access to system resources, making them well-suited for building high-performance and efficient applications. JavaScript is mainly used to write the application logic.
-
Node v20.3.0 (Current) upgrade to libuv 1.45.0, including SIGNIFICANT performance improvements to file system operations on Linux
x8 apparently https://github.com/libuv/libuv/pull/3952
-
Node.js – v20.3.0
Notably upgrades to libuv 1.45 which has io_uring support. Faster file system access! Awhh yeah, it's on.
Remarkable what a mild & unintrusive PR adding io_uring was. https://github.com/libuv/libuv/pull/3952
-
Using Parallel Processing in Node.js and its Limitations
Well, the single-threaded nature ultimately leads to its biggest downfall. Node.js utilizes a synchronous event loop engineered using Libuv that takes in code from the call stack and executes it.
What are some alternatives?
Crow - Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask)
libevent - Event notification library
Oat++ - 🌱Light and powerful C++ web framework for highly scalable and resource-efficient web application. It's zero-dependency and easy-portable.
Boost.Asio - Asio C++ Library
Civetweb - Embedded C/C++ web server
libev - Full-featured high-performance event loop loosely modelled after libevent
drogon - Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows [Moved to: https://github.com/drogonframework/drogon]
tokio-uring - An io_uring backed runtime for Rust
Kore - An easy to use, scalable and secure web application framework for writing web APIs in C or Python. || This is a read-only mirror, please see https://kore.io/mail and https://kore.io/source for information on how to contribute via the mailing lists.
uvw - Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
Pistache - A high-performance REST toolkit written in C++
C++ Actor Framework - An Open Source Implementation of the Actor Model in C++