Skip to content

Redesign streams #7

@iboB

Description

@iboB

There are two problems that are being addressed here:

  • Somewhat low-prio: the use of operator, and the arg level logging.
    • The use of operator, helps with compile times, but is this really an issue these days? Computers are fast and this does not seem to be a bottleneck. People are used to std::format-style logging
    • We can still keep the best of all worlds with arity macros for logging args which would rewrite the commas in the macro to another operator
    • This also makes it hard to format arguments. Functions and symbols would have to be used (with namespace specifiers and whatnot) to wrap values in order to format them properly
  • The bigger problem: std::ostream is stupidly slow on Windows with MSVC STL. It makes an allocation on every instantiation. We can do better.

Maybe streams should be rewritten? Maybe we should base our code on Boost.Iostreams?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions