Skip to content

beef9999/PhotonLibOS

 
 

Repository files navigation

PhotonLibOS

CI CI CI

PhotonlibOS.github.io

What's New

  • 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:
    1. Support coroutine local variables. Similar to the C++11 thread_local keyword. See doc.
    2. Support running on macOS platform, both Intel x86_64 and Apple M1 included.
    3. Support LLVM Clang/Apple Clang/GCC compilers.
  • 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 for std::thread, std::mutex in their own projects, and replace them all into the equivalents of photon_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.

About

Probably the fastest coroutine lib of the world

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.1%
  • CMake 1.5%
  • Other 1.4%