neco
libco
neco | libco | |
---|---|---|
4 | 4 | |
1,029 | 119 | |
- | 0.8% | |
7.2 | 3.5 | |
8 days ago | about 1 year ago | |
C | C | |
MIT License | GNU General Public License v3.0 or later |
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.
neco
- Neco: Concurrency Library for C (Coroutines)
-
Show HN: Neco – Coroutine Library for C
I don't know where you're getting that impression.
These are stackful, symmetric coroutines with a build-in scheduler. It implements suspend and resume. You can call that a green thread if you want, or a fiber or whatever. They're coroutines.
The API docs make all of this clearer than the README. https://github.com/tidwall/neco/blob/main/docs/API.md
libco
- Show HN: Neco – Coroutine Library for C
-
Cycle Accurate Multithreaded Console Emulator Architecture
Higan's coroutines library libco is low-overhead cooperative multi-tasking that avoids OS context switches. As it says in the readme:
-
A Game Boy Color Emulator, Rust, and a COVID fever dream
Don't know about other systems, but bsnes/higan is probably the most widely known SNES emulator that operates at the cycle level. It uses libco to implement green threads. More details here, but afaik the basic idea is to emulate one subsystem for as long as possible until it touches another subsystem (like the CPU reading a register of the PPU), and at that point the other subsystem catches up.
-
Any C Asynchronous libraries I can translate to?
Not sure exactly what you're looking for/what you mean by 'asynchronous/coroutine', but you probably want either libco or libuv (or both?)
What are some alternatives?
libaco - A blazing fast and lightweight C asymmetric coroutine library 💎 ⛅🚀⛅🌞
libfiber - The high performance c/c++ coroutine/fiber library for Linux/FreeBSD/MacOS/Windows, supporting select/poll/epoll/kqueue/iouring/iocp/windows GUI
libco - libco is a coroutine library which is widely used in wechat back-end service. It has been running on tens of thousands of machines since 2013.
libuv - Cross-platform asynchronous I/O
co - Example implementation of coroutine in C
libfiber - A demonstration thread library for Linux
libfiber - A User Space Threading Library Supporting Multi-Core Systems
portable_coroutines - portable coroutine library for C++
gb-emulator