compufox / glacier

lightweight mastodon bot wrapper
9 stars 3 forks source link

green threads? #2

Open compufox opened 4 years ago

compufox commented 4 years ago

after and after-every spawn system threads to provide functionality.

also websocket-driver also spawns a thread to listen for events

AND FINALLY we have our main thread, thats actually running all the things.


i think it would be neat to be able to just contain everything in as few threads as possible, while still retaining our concurrency.

the green-threads system looks promising, but also it seems that they arent asynchronous, and just block. which kinda defeats the purpose of them lol

compufox commented 4 years ago

okay so after some research and experimentation, i think green-threads could MAYBE work, but it would require a lot of reworking the after and after-every macros and im not sure it would really be worth it.

i'll leave this issue open for a reference, but im not going to implement anything

compufox commented 4 years ago

after another accidental bit of research i've found cl-flow which seems to properly implement concurrency without spawning new system threads.

limited testing seems to prove that it could work as a viable alternative to using bordeaux threads


wait. no. i dont think those are green threads, it seems as though underneath it all its just using bt:make-thread

dang.