- We present an article to illustrate the theory of Photon's coroutine. Stackful Coroutine Made Fast
- Version 0.8 has been released in August 2024
- Feb 2024,中文文档在官网上线了
- Since 0.7, Photon will use release branches to enhance the reliability of software delivery. Bugfix will be merged into a stable release at first, then to higher release versions, and finally main.
- Since version 0.6, Photon can run with a userspace TCP/IP stack on top of
DPDK
. En / 中文. - How to transform
RocksDB
from multi-threads to coroutines by only 200 lines of code? En / 中文.
Click to show more history...
- Version 0.5 is released. Except for various performance improvements, including spinlock, context switch,
and new run queue for coroutine scheduling, we have re-implemented the HTTP module so that there is no
boost
dependency anymore. - Version 0.4 has come, bringing us these three major features:
- Support coroutine local variables. Similar to the C++11
thread_local
keyword. See doc. - Support running on macOS platform, both Intel x86_64 and Apple M1 included.
- Support LLVM Clang/Apple Clang/GCC compilers.
- Support coroutine local variables. Similar to the C++11
- Photon 0.3 was released on 2 Sep 2022. Except for bug fixes and improvements, a new
photon_std
namespace is added. Developers can search forstd::thread
,std::mutex
in their own projects, and replace them all into the equivalents ofphoton_std::<xxx>
. It's a quick way to transform thread-based programs to coroutine-based ones. - Photon 0.2 was released on 28 Jul 2022. This release was mainly focused on network socket, security context and multi-vcpu support.
We re-worked the
WorkPool
so it's more friendly now to write multi-vcpu programs. - Made the first tag on 27 Jul 2022. Fix the compatibility for ARM CPU. Throughly compared the TCP echo server performance with other libs.
Join Slack: link