Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recommend an alternative coroutine implementation #4179

Closed
lihuiba opened this issue Sep 17, 2024 · 0 comments
Closed

Recommend an alternative coroutine implementation #4179

lihuiba opened this issue Sep 17, 2024 · 0 comments
Labels
EnglishNative This issue is conveyed exclusively in English.

Comments

@lihuiba
Copy link

lihuiba commented Sep 17, 2024

Hi,

I'm one of the maintainers of Photon, and I also have past experiences of using state-threads in a major project before, during which I even reported an issue to SRS's fork of state-threads.

I have recently written a compatibility layer for Photon to emulate ST. It passed all UTs of ST. The layer aims to be 100% compatible to ST in compilation, and possibly in linking (simply replace libst.a/so with libphoton.a/so);

And I'd like to recommend Photon as an alternative coroutine implementation for SRS for the following reasons:

  • Photon is more performant than ST (actually than all coroutine libs known to us);
  • Photon supports multi-core CPU in a single process, and modern I/O features like io_uring, zero-copy TCP, RDMA, libaio, etc.
  • Photon has a built-in HTTP server that is more performant than boost.beast or nginx;
@winlinvip winlinvip added the EnglishNative This issue is conveyed exclusively in English. label Sep 17, 2024
@ossrs ossrs locked and limited conversation to collaborators Sep 18, 2024
@winlinvip winlinvip converted this issue into discussion #4180 Sep 18, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
EnglishNative This issue is conveyed exclusively in English.
Projects
None yet
Development

No branches or pull requests

2 participants