Multi Producer, Multi Consumer, Lock Free, Atomic Queue[ 1 … 2^N ], atomic entries are 8 or 16 bytes, aligned to cachline. ● Each Entry contains: 1. Sequence/Index, 2. data-flag, 3. data-value ● Entries in the array are modified only using CAS operations index_type& i); // Same as above, update i bool pop(value_type& d, index_type& i); // with op. sequence number bool exchange(index_type& i, value_type old_value, value_type new_value); bool p com/erez-strauss/lockfree_mpmc_queueLockfree, MPMC Queue - Internal algorithm ● Entries hold data value and sequence & data-present flag bit (lsb) ● The seq is 32 or 64 bits ● Data is 4 to 12 bytes, and can contain0 码力 | 54 页 | 886.12 KB | 6 月前3
Using Modern C++ to Build XOffsetDatastructurestructures, including: • Base Types, Custom Types, Different Containers, Nested Types. • The diagram shows how these base types and containers can be combined to form complex data structures. Fanchen sent directly. • Deserialization without decoding: Data is accessed and modified directly. • The diagram shows that our method removes the need for encoding and decoding steps, simplifying the serialization include: • Serialization & deserialization • Read & write • In-place/non-in-place write • The diagram illustrates that, just like a road without bottlenecks allows for smooth traffic flow, we need0 码力 | 111 页 | 3.03 MB | 6 月前3
A Picture is Worth a Thousand Wordscom/jgraph/drawio-desktopText to diagram converters • PlantUML • open source tool that converts simple textual descriptions to UML diagrams • Not only UML diagrams - Earth diagram, UI wireframes and more Integration to doxygen doc / markdown doc http://plantuml.com/guideThree simple lines generate this diagram…. Isn’t it awesome?Have a break! • Use PlantUML to create Sudoku. • The sudoku is randomly Javascript based diagramming and charting tool. • Mermaid can render: • Flowcharts • Sequence / class diagrams • Gantt diagram • Git graph and more https://mermaid-js.github.io/mermaid/#/Finally comes : the0 码力 | 18 页 | 1.77 MB | 6 月前3
Session Types in C++and (usually) an end. • In between, a sequence of interactions is happening. 30Session? • Can we describe a valid sequence of interactions? • Interaction diagram Client Server int int ADD DIV int 31Session? • Can we describe a valid sequence of interactions? • Or formula ?int; ?int; &(ADD: !int, DIV: !double); end 32Session? • Can we describe a valid sequence of interactions? • Or formula ?int;0 码力 | 89 页 | 1.55 MB | 6 月前3
Building bridges: Leveraging C++ and ROS for simulators, sensor data and algorithmseach time a calculation is started, its results only depend on the input data. For a specific sequence of input data, the results always need to be exactly the same, assuming the same initial internal could have the impact that the order of messages coming from simulator bridge will not be the same sequence which triggers the running ROS application that processes the messages as ROS application is tick publish next message execute Lidar stack publish control commands Our proposal The diagram below illustrates the approach for adding the fixed-order execution coordinator to the CARLA C++0 码力 | 38 页 | 2.17 MB | 6 月前3
Back to Basics: Algebraic Data TypessetComplicated(int a, int b) { obj_.emplace(a, b); } 25 The next slide draws this out in a diagram.unique_ptroptional Stack Heap Stack Heap Why use optional compares less-than any value from T’s domain. ● variant can be thought of as an ordered sequence {index(), value}, compared lexicographically. ○ Or, equivalently, variant can be thought 0 码力 | 73 页 | 267.05 KB | 6 月前3
Modern C++ Tutorial: C++11/14/17/20 On the Flythere is no other opinion or even a direct answer. “Almost” is also a lot of people. The Venn diagram in Figure 1.2 roughly answers the C and C++ related compatibility. From now on, you should have escape character. For example, n Matches the character n. \n matches newline characters. The sequence \\ Matches the '\' character, while \( matches the '(' character. ^ Matches the beginning occurs before x.store(3). 3. Causal consistency: its requirements are further reduced, only the sequence of causal operations is guaranteed, and the order of non-causal operations is not required. a0 码力 | 92 页 | 1.79 MB | 1 年前3
C++ Exceptions for Smaller Firmwarestudents asked me, why not use C++ exceptions? 45TIME SPACE I verbally explained them this diagram… 46 Requires Dynamic Memory/Heap Increases Binary Size Requires whole C++ STL Run Time Type table(s) personality function personality data type table ● The action table represents ○ The sequence of catch blocks attached to a try scope ○ provides the mapping between catch block, switch case0 码力 | 237 页 | 6.74 MB | 6 月前3
Contracts for C++Contracts and indirect calls Diagram by Lisa Lippincott136 Copyright (c) Timur Doumler | @timur_audio | https://timur.audio Contracts and virtual function calls Diagram by Lisa Lippincott pre/post Doumler | @timur_audio | https://timur.audio Contracts and virtual function calls Diagram by Lisa Lippincott struct UnaryFunction { virtual Value compute(ArgList args) pre (args Doumler | @timur_audio | https://timur.audio Contracts and virtual function calls Diagram by Lisa Lippincott struct UnaryFunction { virtual Value compute(ArgList args) pre (args0 码力 | 181 页 | 4.44 MB | 6 月前3
Back to Basics: Design Patternsstart this talk by introducing the taxonomy of design patterns at a high level, how to read a UML diagram (as a quick refresher), a refresher on inheritance vs composition, and then spend the rest of the architect for larger systems ○ i.e. Drawing a diagram and planning before diving into code is wise!Sample UML for a Class Diagram (1/4) ● Example of a class diagram ○ Class name ○ member variables (data) a Class Diagram (2/4) ● Example of a class diagram ○ Class name ○ member variables (data) ○ member functions (behaviors) 91Sample UML for a Class Diagram (3/4) ● Example of a class diagram ○ Class0 码力 | 96 页 | 2.10 MB | 6 月前3
共 163 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17













