mirror of https://github.com/bsnes-emu/bsnes.git
Merge libco's commit history.
The official libco repository was created as a snapshopt of the then-current state of libco in the higan repository. However, it would be a shame to lose all the development history and changelogs that led up to this point. This commit merges in the change history extracted from the higan repository, including reconstructed history from the bsnes-history-kit project. Note that many commit messages mention changes outside of libco, and some *only* mention non-libco changes because the libco change was relatively minor compared to the overall changes. Hopefully it's generally clear what libco changes were made and why... but even if it isn't, this is all the information we have. Fixes #2.
This commit is contained in:
commit
94acbce822
|
@ -0,0 +1,27 @@
|
|||
libco
|
||||
-----
|
||||
|
||||
libco is a cooperative multithreading library written in C89.
|
||||
|
||||
Although cooperative multithreading is limited to a single CPU core, it scales substantially better than preemptive multithreading.
|
||||
|
||||
For applications that need 100,000 or more context switches per second, the kernel overhead involved in preemptive multithreading can end up becoming the bottleneck in the application. libco can easily scale to 10,000,000 or more context switches per second.
|
||||
|
||||
Ideal use cases include servers (HTTP, RDBMS) and emulators (CPU cores, etc.)
|
||||
|
||||
It currently includes backends for:
|
||||
|
||||
* x86 CPUs
|
||||
* amd64 CPUs
|
||||
* PowerPC CPUs
|
||||
* PowerPC64 ELFv1 CPUs
|
||||
* PowerPC64 ELFv2 CPUs
|
||||
* ARM 32-bit CPUs
|
||||
* ARM 64-bit (AArch64) CPUs
|
||||
* POSIX platforms (setjmp)
|
||||
* Windows platforms (fibers)
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
libco is released under the ISC license.
|
Loading…
Reference in New Issue