-
Notifications
You must be signed in to change notification settings - Fork 6
Closed
Description
We can compute T_exp! and T_lim! asynchronously to improve performance. #229 does this using @async, but Simon mentioned that this is perhaps not the best option and there is a warning about @async in the Julia docs:
│ Warning
│
│ It is strongly encouraged to favor Threads.@spawn over @async always even when no parallelism is required especially in publicly distributed
│ libraries. This is because a use of @async disables the migration of the parent task across worker threads in the current implementation of Julia.
│ Thus, seemingly innocent use of @async in a library function can have a large impact on the performance of very different parts of user applications.Tim Besard discusses this in https://www.youtube.com/watch?v=fw0R5G8pB0U. I'm going to have a second look at this to see what's the right way to leverage parallelism/concurrency, since we'll probably want similar or the same solution in #233.
Metadata
Metadata
Assignees
Labels
No labels