Skip to content

Redesign the core/executor #652

@petr-tik

Description

@petr-tik

As mentioned in #638 (comment), our core/executor relies on the scoped_pool crate, which looks abandoned over the last 2 years.

The Executor struct relies on a ThreadPool from scoped_pool but the comments mention Rayon's ThreadPool.

Using development activity as an indicator, Rayon looks like a better long-term dependency to use when building a core executor than scoped_pool.

Rayon provides a scope method to create a scope inside a ThreadPool. However, it requires the FnOnce to exhibit the Send trait.

This discussion outlines pros and cons of this approach and how other people suggest working around it.

If rayon doesn't work, we can roll our own on top of Crossbeam

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