5 years late to watching this video but my God has this actually helped me understand the usefulness of the newly added coroutines with async functions.
Fibers are stackful coroutines with a scheduler. They can be used transparently in the code. co_await has the disadvantage of being viral. It is different as far as my understanding goes.
Good talk, but skimmed though the examples a bit too fast. It is also kind of confusing to me, that all examples are ultimately blocking to the caller, or I am missing something?
I still don't understand how to accomplish "elegant asynchronous code". Maybe I'm trying too much to fit this to my own use case that doesn't make sense? I'm thinking of a networking library that I use in which I register callbacks that are called when certain network traffic is encountered. This callback stuff is making my code look like spaghetti. Perhaps this fiber-based approach to asynchronous code isn't helpful in my case because the library wasn't written that way. It creates a new thread on a connection and calls my callbacks through that thread, so I think I'll need to go the message queue route. I'm still happy I watched the talk: I learned a bunch about boost fibers!
Yes i assume that it's your source code. I have never seen code that can switch from one threading style to another one without a huge rewrite of core library.
5 years late to watching this video but my God has this actually helped me understand the usefulness of the newly added coroutines with async functions.
To me, this is a very good presentation of why we need fiber. Try to use boost asio, boost coroutine before watching this video.
Cool stuff
24:00 You can manage stacksize and set stacks entirely in pthreads as well.
20 minutes in only to find boost lib is part of the solution.
I must have missed something: what is the advantage of using fibers instead of threads?
You save the context switch.
I still feel like vc++'s resumable functions are easier to reason about, but this did show me that perhaps fibers still have some room to innovate.
Fibers are stackful coroutines with a scheduler. They can be used transparently in the code. co_await has the disadvantage of being viral. It is different as far as my understanding goes.
Good talk, but skimmed though the examples a bit too fast. It is also kind of confusing to me, that all examples are ultimately blocking to the caller, or I am missing something?
Starts at 19:47
Introduction was a bit lengthy, but apart from that - nice talk ! Thank You!
I think fibers are the closest you can get to python asyncio in c++.
I still don't understand how to accomplish "elegant asynchronous code". Maybe I'm trying too much to fit this to my own use case that doesn't make sense? I'm thinking of a networking library that I use in which I register callbacks that are called when certain network traffic is encountered. This callback stuff is making my code look like spaghetti. Perhaps this fiber-based approach to asynchronous code isn't helpful in my case because the library wasn't written that way. It creates a new thread on a connection and calls my callbacks through that thread, so I think I'll need to go the message queue route.
I'm still happy I watched the talk: I learned a bunch about boost fibers!
Yes i assume that it's your source code. I have never seen code that can switch from one threading style to another one without a huge rewrite of core library.
Could you get rid of the line by line presentation, next time? That would improve the presentation style.