Skip to content

Why blocking I/O? #72

@emanuelpalm

Description

@emanuelpalm

Reading through the source code, I noticed that you seem to use blocking I/O with thread pools. My impression is that most languages are recommending either to use green threads (Go, Erlang, Java in the future) or async/await (C#, JavaScript, Dart) to avoid the comparatively high costs of OS thread switching. Skimming through the Internet, I noticed that async/await (called co-routines) are officially supported in C++20, but that support for it seems to exist for earlier C++ versions via e.g. Boost.Asio.

Do you have any particular reasons for avoiding co-routines?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions