Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
singledigits
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
singledigits
2y ago
Thank you for clearing that up. Regarding modern features, for example, the return value from the executor in TaskFlow is a custom tf::Future derived from std::future. This means if you want to check for the result, you need to use a try-ca
2.
▲
by
singledigits
2y ago
Thank you for your feedback and appreciation. During development, I initially tried implementing coroutines in a way that executing them without spawning a new thread would be possible. However, it introduced complications, so I eventually
3.
▲
by
singledigits
2y ago
Thank you for bringing this up. I hadn’t come across folly::Coro until now. It does seem quite similar at first glance, and some of the utility functions they have are ones I’m also planning to implement, as others have also pointed out are
4.
▲
by
singledigits
2y ago
Thanks for spotting that! I appreciate the feedback and will update the README.
5.
▲
by
singledigits
2y ago
Thank you for asking! I've skimmed through Taskflow, and from what I understand, its main focus is on graph parallelism, allowing users to express computations as a graph. I haven't done extensive benchmarking against 3rd-party li
6.
▲
by
singledigits
2y ago
I haven't compared performance with the P2300 proposal yet. It seems like it's trying to unify asynchronous and parallel execution for C++, which is much broader in scope than my library. It's true that coroutines can avoid h
7.
▲
by
singledigits
2y ago
Yes, exactly. Coroutines are one possible implementation of green threads. Once they are scheduled/loaded on an OS thread, they behave just like regular functions with their own call stack. This means they can indeed call blocking oper
8.
▲
by
singledigits
2y ago
Thank you for your response! I don't have experience with WinRT, but it does seem quite similar at first glance. One of the key reasons I focused on modern C++ was to ensure cross-platform compatibility. However, I completely understan
9.
▲
by
singledigits
2y ago
Thank you for your feedback. I understand that working with tasks and retrieving values can feel a bit clunky. The main reason I've structured it this way is that individual tasks are RAII objects, and their coroutine state is destroye
10.
▲
by
singledigits
2y ago
Hopefully, you find it useful! If you have any ideas or suggestions for improvement, feel free to open an issue or let me know. Thanks for considering it!
11.
▲
by
singledigits
2y ago
Thank you for your question. I've included a link to Lewis Baker's blog (the author of CppCoro) in my repository as an excellent explanation of coroutines. From my understanding, after reviewing his library, it is no longer in act
12.
▲
by
singledigits
2y ago
I feel you! Coroutines can be tricky at first. I recommend Lewis Baker's blog about coroutines [1], which is detailed and insightful. Additionally, cppreference [2] is a great resource to understand how coroutines work in C++. In a nut
13.
▲
by
singledigits
2y ago
The concept behind the deque is explained in Correct and Efficient Work-Stealing for Weak Memory Models [1]. The idea is that only the owning thread can push tasks into the deque. If the owning thread detects that the deque is full, it crea
14.
▲
by
singledigits
2y ago
Thank you for your thoughtful feedback. I've just skimmed through the paper, and it raises interesting and valid point about scalability in parallel computing. I'll definitely look into it more thoroughly, as well as the talk you
15.
▲
Show HN: Coros – A Modern C++ Library for Task Parallelism
(github.com)
129 points
by
singledigits
2y ago
|
58 comments