filmov
tv
CppCon 2018: Rishi Wani “Datum: A Compact Bitwise Copyable Variant Type”
Показать описание
—
—
Datum is a value-semantic variant type used at Bloomberg. It has trivial construction, destruction, copy-construction and copy-assignment semantics. It encodes values of many frequently used types, such as doubles, integers, Booleans, and pointers inside a double value on a 32 bit platform without requiring any memory allocations. Values of more complex types like strings and arrays are allocated on the heap and a pointer to the memory is stored inside the Datum.
Due to Datum's compact representation, it reduces the memory footprint of applications. Datum's trivial initialization and copy semantics ensure that there is a negligible cost to default-constructing and moving around a large number of such objects, thus reducing the overall CPU usage of applications. In this talk, we will look into the implementation of Datum and benchmarks comparing Datum with a few other variant types.
—
Rishi Wani
Senior Software Engineer, Bloomberg
Rishi is a senior software engineer at Bloomberg. He has been programming in C++ since 2002.
—
*-----*
*-----*
—
Datum is a value-semantic variant type used at Bloomberg. It has trivial construction, destruction, copy-construction and copy-assignment semantics. It encodes values of many frequently used types, such as doubles, integers, Booleans, and pointers inside a double value on a 32 bit platform without requiring any memory allocations. Values of more complex types like strings and arrays are allocated on the heap and a pointer to the memory is stored inside the Datum.
Due to Datum's compact representation, it reduces the memory footprint of applications. Datum's trivial initialization and copy semantics ensure that there is a negligible cost to default-constructing and moving around a large number of such objects, thus reducing the overall CPU usage of applications. In this talk, we will look into the implementation of Datum and benchmarks comparing Datum with a few other variant types.
—
Rishi Wani
Senior Software Engineer, Bloomberg
Rishi is a senior software engineer at Bloomberg. He has been programming in C++ since 2002.
—
*-----*
*-----*
CppCon 2018: Rishi Wani “Datum: A Compact Bitwise Copyable Variant Type”
CppCon 2018: Alisdair Meredith “Contract Programming in C++(20) (part 1 of 2)”
CppCon 2018: Ben Deane “Operator Overloading: History, Principles and Practice”
CppCon 2018: “Secure Coding Best Practices: Your First Line Is The Last Line Of Defense (1 of 2)”...
CppCon 2018: “Emulating the Nintendo 3DS: Generative & Declarative Programming in Action'
CppCon 2018: William Clements “Save $$ Testing Code the Playback-Based Way”
CppCon 2018: Victor Ciura “Regular Types and Why Do I Care ?”
CppCon 2018: Patricia Aas “Software Vulnerabilities in C and C++”
CppCon 2018: Patrice Roy “Pessimistic Programming”
CppCon 2018: Vincent Reverdy “Custom Overload Sets and Inline SFINAE for Truly Generic Interfaces”...
CppCon 2018: Guy Davidson “Lightweight 2D graphics with io2d”
CppCon 2018: Arno Schoedl “Range-Based Text Formatting For a Future Range-Based Standard Library”...
CppCon 2018: Pablo Halpern “Using Compile-time Code Generation to build an LLVM IR Pattern Matcher”...
CppCon 2018: Timur Doumler & Dmitry Kozhevnikov “Parsing C++”
CppCon 2018: Robert Schumacher “Don't package your libraries, write packagable libraries!”
CppCon 2018: Dan Saks “Making New Friends”
Tools and Techniques for Testing Callbacks Using Standard C++ - Alastair Rankine [ CppCon 2018 ]
C++Now 2019: Nevin ':-)' Liber “The Many Variants of std::variant”
Rewriting an NLP tool from C++ to Zig - Guillaume Wenzek
Temporal: Keep Time on Your Side
A Data-First Approach to Surveillance
Spying on the Floating Point Behavior of Existing, Unmodified Scientific Applications
Robots for the Kids in All of Us by Nikhil Nanivadekar
Developing the Bloomberg Terminal -- Local performance & measurement techniques - Paul Williams
Комментарии