Seastar, ScyllaDB, and C++23
Blog post from ScyllaDB
Seastar, an open-source C++ framework designed for I/O intensive asynchronous computing, now supports C++20 and C++23, having dropped support for C++17 to align with its policy of supporting only the last two versions of C++. This update allows Seastar to utilize features such as coroutines, std::format, and std::ranges, which streamline code and improve performance by reducing dependency on third-party libraries. Notably, std::expected is highlighted for its ability to handle error conditions without the performance drawbacks of exceptions, and while Seastar itself won't use C++23-specific containers like std::flat_set and std::flat_map due to its continuing C++20 compatibility, the framework encourages users to consider these for enhanced request processing. The evolution from C++17 to newer versions facilitates Seastar's modernization and optimization, even though C++23 doesn't introduce groundbreaking changes for Seastar users.