zig-libuv VS libxev

Compare zig-libuv vs libxev and see what are their differences.

zig-libuv

Zig bindings for libuv. Also a build script to build libuv from scratch using only Zig (for easy cross-compilation, integration with Zig, etc.). (by mitchellh)

libxev

libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig and C API. (by mitchellh)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
zig-libuv libxev
1 6
11 1,618
- -
- 8.1
over 1 year ago 5 days ago
Zig Zig
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

zig-libuv

Posts with mentions or reviews of zig-libuv. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-17.
  • libxev: A cross-platform, high-performance event loop
    4 projects | news.ycombinator.com | 17 Apr 2024
    This is my project.

    I use it as the core cross-platform event loop layer for my terminal (https://mitchellh.com/ghostty). I still consider libxev an early, unstable project but the terminal has been in use by hundreds to now over a thousand beta testers daily for over a year now so at least for that use case its very stable. :) I know of others using it in production shipped software, but use it at your own risk.

    As background, my terminal used to use libuv, and I think libuv is a great project! I still have those Zig bindings available (archived) if anyone is interested: https://github.com/mitchellh/zig-libuv

    The main issue I had personally with libuv was that I was noticing performance jitter due to heap allocations. libxev's main design goal was to be allocation-free, and it is. The caller is responsible for allocating all the memory libxev needs (however it decides to do that!) and passing it to libxev. There were some additional things I wanted: more direct access to mach ports on macOS, io_uring on Linux (although I think libuv can use io_uring now), etc. But memory was the big one.

    And it worked! Under heavy IO load in my terminal project, p90 performance roughly matched libuv but my p99 performance was much, much better. Like, 10x or more better. I don't have those numbers in front of me anymore to back that up and my terminal project hasn't built with libuv in a very long time. But I consider the project a success for my use case.

    You're probably better off using libuv for your own project. But, the main takeaway I'd give people is: don't be afraid to reimplement this kind of stuff for you. A purpose-built event loop isn't that complicated.

libxev

Posts with mentions or reviews of libxev. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-17.

What are some alternatives?

When comparing zig-libuv and libxev you can also consider the following projects:

unzig - Zig with Unused Variables

async_io_uring - An event loop in Zig using io_uring and coroutines

sokol-tools - Command line tools for use with sokol headers

http.zig - An HTTP/1.1 server for zig

zig-pico - Not so scuffed Zig project for using the Raspberry Pi Pico SDK

mach - zig game engine & graphics toolkit

aviary.sh - Minimal distributed configuration management in bash

bash2048 - Bash implementation of 2048 game

bashttpd - A web server written in bash

bitcoin-bash-tools - Set of bitcoin-related bash functions

otp - Erlang/OTP

hellepoll - A blazingly-fast async HTTP server written in C++