Skip to content

Add support for async T_exp! and T_lim! #247

@charleskawczynski

Description

@charleskawczynski

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions