{"id":13415553,"url":"https://github.com/alibaba/PhotonLibOS","last_synced_at":"2025-03-14T23:30:51.554Z","repository":{"id":37005930,"uuid":"500338009","full_name":"alibaba/PhotonLibOS","owner":"alibaba","description":"Probably the fastest coroutine lib in the world!","archived":false,"fork":false,"pushed_at":"2024-05-21T03:08:24.000Z","size":2505,"stargazers_count":813,"open_issues_count":21,"forks_count":107,"subscribers_count":28,"default_branch":"main","last_synced_at":"2024-05-21T04:57:13.075Z","etag":null,"topics":["async-io","coroutine","cpp","fs-library","iouring","libos","net-library"],"latest_commit_sha":null,"homepage":"https://PhotonLibOS.github.io","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alibaba.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-06T07:43:07.000Z","updated_at":"2024-05-22T05:31:58.762Z","dependencies_parsed_at":"2023-11-06T03:29:00.746Z","dependency_job_id":"342de1b6-1878-45cf-904f-a7370ae8f7db","html_url":"https://github.com/alibaba/PhotonLibOS","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2FPhotonLibOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2FPhotonLibOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2FPhotonLibOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alibaba%2FPhotonLibOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alibaba","download_url":"https://codeload.github.com/alibaba/PhotonLibOS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243663239,"owners_count":20327299,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async-io","coroutine","cpp","fs-library","iouring","libos","net-library"],"created_at":"2024-07-30T21:00:50.242Z","updated_at":"2025-03-14T23:30:51.548Z","avatar_url":"https://github.com/alibaba.png","language":"C++","readme":"# PhotonLibOS\n\n[![Linux x86_64](https://github.com/alibaba/PhotonLibOS/actions/workflows/ci.linux.x86_64.yml/badge.svg?branch=main)](https://github.com/alibaba/PhotonLibOS/actions/workflows/ci.linux.x86_64.yml)\n[![Linux ARM](https://github.com/alibaba/PhotonLibOS/actions/workflows/ci.linux.arm.yml/badge.svg)](https://github.com/alibaba/PhotonLibOS/actions/workflows/ci.linux.arm.yml)\n[![macOS x86_64](https://github.com/alibaba/PhotonLibOS/actions/workflows/ci.macos.x86_64.yml/badge.svg)](https://github.com/alibaba/PhotonLibOS/actions/workflows/ci.macos.x86_64.yml)\n[![macOS ARM](https://github.com/alibaba/PhotonLibOS/actions/workflows/ci.macos.arm.yml/badge.svg)](https://github.com/alibaba/PhotonLibOS/actions/workflows/ci.macos.arm.yml)\n\n[PhotonlibOS.github.io](https://photonlibos.github.io)\n\n## What's New\n* We present an article to illustrate the theory of Photon's coroutine.\n[Stackful Coroutine Made Fast](https://photonlibos.github.io/blog/stackful-coroutine-made-fast)\n* Version 0.8 has been released in August 2024\n* Feb 2024，[中文文档](https://photonlibos.github.io/cn/docs/category/introduction)在官网上线了\n* 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.\n* Since version 0.6, Photon can run with a userspace TCP/IP stack on top of `DPDK`.\n[En](https://developer.aliyun.com/article/1208512) / [中文](https://developer.aliyun.com/article/1208390).\n* How to transform `RocksDB` from multi-threads to coroutines by only 200 lines of code?\n[En](https://github.com/facebook/rocksdb/issues/11017) / [中文](https://developer.aliyun.com/article/1093864).\n\n\u003cdetails\u003e\u003csummary\u003eClick to show more history...\u003c/summary\u003e\u003cp\u003e\n\n* Version 0.5 is released. Except for various performance improvements, including spinlock, context switch,\n  and new run queue for coroutine scheduling, we have re-implemented the HTTP module so that there is no `boost` dependency anymore.\n* Version 0.4 has come, bringing us these three major features:\n  1. Support coroutine local variables. Similar to the C++11 `thread_local` keyword. See [doc](doc/thread-local.md).\n  2. Support running on macOS platform, both Intel x86_64 and Apple M1 included.\n  3. Support LLVM Clang/Apple Clang/GCC compilers.\n* Photon 0.3 was released on 2 Sep 2022. Except for bug fixes and improvements, a new `photon_std` namespace is added.\n  Developers can search for `std::thread`, `std::mutex` in their own projects, and replace them all into the equivalents of `photon_std::\u003cxxx\u003e`.\n  It's a quick way to transform thread-based programs to coroutine-based ones.\n* Photon 0.2 was released on 28 Jul 2022. This release was mainly focused on network socket, security context and multi-vcpu support.\n  We re-worked the `WorkPool` so it's more friendly now to write multi-vcpu programs.\n* Made the first tag on 27 Jul 2022. Fix the compatibility for ARM CPU. Throughly compared the TCP echo server performance with other libs.\n\n\u003c/p\u003e\u003c/details\u003e\n\n## Community\n\n\u003cimg src=\"/doc/static/img/slack.svg\" width=\"20\"\u003e Join Slack: [link](https://join.slack.com/t/photonlibos/shared_invite/zt-25wauq8g1-iK_oHMrXetcvWNNhIt8Nkg)\n\n\u003cimg src=\"/doc/static/img/dingtalk.svg\" width=\"20\"\u003e Join DingTalk group: 55690000272\n","funding_links":[],"categories":["Frameworks","C++","C/C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2FPhotonLibOS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falibaba%2FPhotonLibOS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falibaba%2FPhotonLibOS/lists"}