C++ Logo

std-proposals

Advanced search

Modern std::byte stream IO for C++

From: Lyberta <lyberta_at_[hidden]>
Date: Thu, 5 Mar 2020 22:38:26 +0300
This paper proposes fundamental IO concepts, customization points for serialization and deserialization and streams for memory
and file IO.

It was initially based on design similar to iostreams but most of it was changed to be in line with modern C++20 practice. In
particular, the proposal embraces type erasure instead of virtual functions, exceptions instead of operator bool() and
customization points instead of arithmetic shift operators.

During benchmarking of sequential file IO on Linux proposed std::io::input_file_stream is ~30% faster than std::FILE and ~45%
faster than std::ifstream while proposed std::io::output_file_stream is ~38% faster than std::FILE and ~60% faster than
std::ofstream.

I'm looking for a champion to present the proposal in Varna.

Received on 2020-03-05 13:41:37