Загрузка страницы

Taking a Byte Out of C++ - Avoiding Punning by Starting Lifetimes - Robert Leahy - CppCon 2022

https://cppcon.org/
---

Taking a Byte Out of C++ - Avoiding Punning by Starting Lifetimes - Robert Leahy - CppCon 2022
https://github.com/CppCon/CppCon2022
Marshaling raw bytes into objects is a perennial problem in C++. Bytes may exist in memory, we may know they’re of the correct form to back a C++ object, but the abstract virtual machine says none of the desired objects exist at that location. The temptation to type pun and hope that happens to work, and continues to do so, runs strong.

What if we had start_lifetime_as? We could synthesize objects backed directly by bytes without superfluous calls to memcpy/memmove and prayers to the optimizer. What would that world look like? What sort of patterns could we use to work efficiently and correctly in that world?

This talk answers such questions against the backdrop of a database engine which makes use of this proposed functionality. Analysis will move from raw bytes, to C++ objects, to heterogeneous streams of such objects with discussion of the sharp edges at each level. End to end zero copy will be shown to be both possible and correct.
---

Robert Leahy

Robert is a graduate of the University of Victoria where he specialized in graphics, gaming, and digital geometry processing. After spending 4.5 years in full stack web development he pivoted to financial infrastructure in early 2016 and now works on next generation market data storage and retrieval mechanisms. In 2019 he became involved in the ISO C++ committee with a particular focus on library evolution.
---

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

#cppcon #programming #byte

Видео Taking a Byte Out of C++ - Avoiding Punning by Starting Lifetimes - Robert Leahy - CppCon 2022 канала CppCon
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
29 октября 2022 г. 18:00:08
00:57:42
Другие видео канала
CppCon 2016: Casey Carter “Iterator Haiku"CppCon 2016: Casey Carter “Iterator Haiku"EDSL Infinity Wars: Mainstreaming Symbolic Computation - Joel Falcou & Vincent Reverdy - CppCon 2019EDSL Infinity Wars: Mainstreaming Symbolic Computation - Joel Falcou & Vincent Reverdy - CppCon 2019Leaving No Input Unsanitized - Gabriel Aubut-Lussier - CppCon 2019Leaving No Input Unsanitized - Gabriel Aubut-Lussier - CppCon 2019Catch ⬆️: Unicode for C++23 - JeanHeyd Meneide - CppCon 2019Catch ⬆️: Unicode for C++23 - JeanHeyd Meneide - CppCon 2019CppCon 2017: Teresa Johnson “ThinLTO: Scalable and Incremental Link-Time Optimization”CppCon 2017: Teresa Johnson “ThinLTO: Scalable and Incremental Link-Time Optimization”Taskflow: A Parallel and Heterogeneous Task Programming System Using Modern C++ - Tsung-Wei HuangTaskflow: A Parallel and Heterogeneous Task Programming System Using Modern C++ - Tsung-Wei HuangCppCon 2015: Pablo Halpern “Work Stealing"CppCon 2015: Pablo Halpern “Work Stealing"CppCon 2016: Klaus Iglberger “The Blaze High Performance Math Library"CppCon 2016: Klaus Iglberger “The Blaze High Performance Math Library"CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon 2018: Valentin Galea “Rapid Prototyping of Graphics Shaders in Modern C++”CppCon 2018: Valentin Galea “Rapid Prototyping of Graphics Shaders in Modern C++”Symbolic Calculus for High-performance Computing From Scratch Using C++23 - Vincent Reverdy - CppConSymbolic Calculus for High-performance Computing From Scratch Using C++23 - Vincent Reverdy - CppConCppCon 2019: Emery Berger “Mesh: Automatically Compacting Your C++ Application's Memory”CppCon 2019: Emery Berger “Mesh: Automatically Compacting Your C++ Application's Memory”CppCon 2019: David Olsen “Faster Code Through Parallelism on CPUs and GPUs”CppCon 2019: David Olsen “Faster Code Through Parallelism on CPUs and GPUs”CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”LLVM Optimization Remarks - Ofek Shilon - CppCon 2022LLVM Optimization Remarks - Ofek Shilon - CppCon 2022Modern C++: C++ Patterns to Make Embedded Programming More Productive - Steve Bush - CppCon 2022Modern C++: C++ Patterns to Make Embedded Programming More Productive - Steve Bush - CppCon 2022CppCon 2019: Ben Saks “Back to Basics: Exception Handling and Exception Safety”CppCon 2019: Ben Saks “Back to Basics: Exception Handling and Exception Safety”Deep CMake for Library Authors - Craig Scott - CppCon 2019Deep CMake for Library Authors - Craig Scott - CppCon 2019CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()”CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()”CppCon 2019: Matt Godbolt “Compiler Explorer: Behind The Scenes”CppCon 2019: Matt Godbolt “Compiler Explorer: Behind The Scenes”
Яндекс.Метрика