libaco icon indicating copy to clipboard operation
libaco copied to clipboard

A full-featured, high-performance and lightweight scheduler for libaco is needed

Open nishantd01 opened this issue 7 years ago • 12 comments
trafficstars

How can i launch a coroutine which waits for 5 secs and do some operation in a data structure. I don't want main thread to wait. sleep(5) holds the main thread itself.

nishantd01 avatar Sep 25 '18 10:09 nishantd01

It would need a scheduler to schedule all the coroutines.

About two months ago, I started to develop a high-performance Golang-like coroutine scheduler for libaco. It would come to the public in about two weeks. The code of the scheduler itself has already finished, I'm now doing the performance optimization, strict code review and writing the test suites stuff.

hnes avatar Sep 26 '18 10:09 hnes

Any update now?

signifox avatar Jan 24 '19 08:01 signifox

I'm really sorry to postpone the release of the next version which would include the solution of this issue. I'm during a break now, and I will definitely continue to work on this after the rest is finished.

Thank you very much for your attention to this project, @signifox :-)

hnes avatar Jan 25 '19 10:01 hnes

I am trying to implement a simple scheduler for libaco. Hope you guys can take look: github.com/guangqianpeng/libaco-sched

guangqianpeng avatar Mar 22 '19 09:03 guangqianpeng

please keep libaco tiny and clean, another repo to start scheduler work?

echoface avatar Dec 23 '19 14:12 echoface

"a high-performance Golang-like coroutine scheduler for libaco" 有进一步的发布计划吗?

QingruiHuang avatar Feb 24 '21 03:02 QingruiHuang

@QingruiHuang 抱歉,我现在的业余时间用在了开发另一个开源项目上,等它告一段落之后还会回来,但遗憾的是我无法给出具体的时间承诺,也许几个月。

English Translation:

@QingruiHuang Sorry, my spare time is now spent on developing another open-source project and I would like to come back when it's finished. But unfortunately, I can't give you a promise of the precise date, probably maybe several months.

hnes avatar Feb 25 '21 01:02 hnes

https://github.com/HuanGong/ltio.git here is a schedule implement, it based on a reactor message loop module, it‘s simple and "may be effective" enough. it use libcoro/libaco as coroutine backend

echoface avatar Mar 02 '21 00:03 echoface

@HuanGong 非常感谢

QingruiHuang avatar Mar 02 '21 01:03 QingruiHuang

@QingruiHuang @guangqianpeng @nishantd01 https://github.com/alibaba/PhotonLibOS The fastest io engine (scheduler). Although it's now running in stackful coroutines, our two projects have very much common in the coroutine API.

beef9999 avatar Aug 26 '22 03:08 beef9999

多年以后,再回来这里,依然没见更新

QingruiHuang avatar Oct 07 '23 07:10 QingruiHuang