Tag: streams

Using Modern C++ to Revive an Old Design – Jody Hagins – CppCon 2022

  • Lobby
  • Tag Archives: streams

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Using Modern C++ to Revive an Old Design - Jody Hagins - CppCon 2022
https://github.com/CppCon/CppCon2022

In 1984, Dennis Ritchie introduced what would become the Unix System V STREAMS framework, which was designed to provide a way to implement most of the OSI stack with small, testable, modular, protocol independent, reusable, loosely coupled, components. These are great ideals for writing complicated data processing software systems. Unfortunately, the official STREAMS framework itself is limited to kernel modules, and the design itself has fallen out of favor due to perceived performance (and legal) issues. Still, the aforementioned characteristics of the STREAMS design are highly desirable.

This talk leverages features of modern C++ to offer a slightly different take on this relatively old, but very useful, design. We will present the design goals in detail, and show how to build small, testable components that can be easily plugged together.

Furthermore, we will discuss, and then use, several metacppcon.digital-medium.co.uk/tag/programming/">programming techniques to demonstrate how these design goals can be implemented, while also providing optimal runtime performance. For example, one point of performance problems with the traditional design is based on passing messages that contain opaque data. Each module must inspect each message to determine if it will be processed, or ignored and passed to the next module. This design provides an incredible amount of flexibility, but with it comes some amount of runtime cost to possibly perform inspection of every message at every module. One goal will be to utilize modern C++ techniques to reduce or eliminate this runtime cost.
---

Jody Hagins

Jody has been cppcon.digital-medium.co.uk/tag/programming/">programming in C++ since the 1980s. His formal education was in artificial intelligence, using LisP and Smalltalk. His professional experience began as a unix kernel developer, then telecoms, then automated trading, which is where he has been since the 1990s. He added enough C++ support to be able to write kernel modules in C++. Currently, he uses C++ in the domain of financial data feeds.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , ,