Message Handling with Boolean Algebra
Message Handling with Boolean Algebra Ben Deane / CppCon / 2024-09-16 1Alternative Title "The Unreasonable Effectiveness of Boolean Algebra in Software Design, Showing the Particular Application of of a Message Handling Library, with an Excursion into the Roots of Programming" 2Frontmatter No AI/LLM was used in the creation of this talk. Code is simplified for slides; may have some errors in this talk is about The workings of a message-handling library. How messages and the fields in them are specified. Efficiently identifying (with matchers) a message coming off the wire. The role of Boolean0 码力 | 103 页 | 4.37 MB | 5 月前3Object Oriented Programming
Object-Oriented Programming Key Ideas Class Inheritance Polymorphism Early and Late Binding Virtuality override final Template method Destructor Interfaces Liskov substitution principle Covariant return type Duck Typing Traps Virtual in con- /destructor Slicing ShadowingObject-Oriented Programming Key Ideas Class Inheritance Polymorphism Early and Late Binding Virtuality from the outside world. Information hiding Separation from interface and implementationObject-Oriented Programming Key Ideas Class Inheritance Polymorphism Early and Late Binding Virtuality0 码力 | 38 页 | 752.99 KB | 5 月前3Back to Basics: Object-Oriented Programming
Andreas Fertig Write unique code! Back to Basics Object-Oriented Programming Presentation Material CppCon, Aurora CO, 2024-09-20© 2024 Andreas Fertig AndreasFertig.com All rights reserved All programs Fertig https://AndreasFertig.com post@AndreasFertig.com 5A class ■ C++ adds classes for object-oriented programming. ■ The constructors B are called when the object is cre- ated. ■ Data fields of classes0 码力 | 20 页 | 1.04 MB | 5 月前3Can Data-Oriented-Design be Improved?
1Can data-oriented-design be improved? Ollivier Roberge Collège Jean-de-Brébeuf 2A brief historic • 1960s • FORTRAN • Lisp • 1980s • OOP • Structured programming • Modules • 2000s • Template 3What is DoD about? • DoD (“Data oriented design”) • Not about cache lines, nor struct layout (at its core) • From wikipedia: ”As a design paradigm, data-oriented-design focuses on optimal transformations transformation Previous transformation Next transformation 8The opposite philosophy Data oriented code • Platform specific code • Procedural/imperative code • Problem/dataset specific code • Hand-optimize0 码力 | 39 页 | 1.18 MB | 5 月前3Leveraging a Functional Approach for More Testable and Maintainable ROS 2 Code
facto middleware of choice across robotics academia and industry Why use Robot Operating System? Clip taken from: https://robots.ros.org/● Robot Operating System (ROS) is the de facto middleware of choice System? Clip taken from: https://robots.ros.org/● Robot Operating System (ROS) is the de facto middleware of choice across robotics academia and industry ● According to the ROS 2022 Metrics Report, Tests and documentation! Lots and lots of documentation! ● ROS 2 documentation encourages an object-oriented paradigm that can lead to trouble writing code that achieves the goalWhy give this talk? ● Engineers0 码力 | 200 页 | 1.77 MB | 5 月前3Things Happening in SG14
• A new container with different tradeoffs that can be useful for the use-cases of low- latency-oriented developers • Might be very close to adoption in the standard 21What is SG14? • There have already ongoing in that respect • Each game engine has its own version of such utilities, and so does each middleware, but there seems to be “holes” in most of them • In general, it would be good if what can be done0 码力 | 148 页 | 1009.97 KB | 5 月前3Just-in-Time Compilation - J F Bastien - CppCon 2020
caching”, in other words there’s an IR before machine code.SELF Optimizing Dynamically-Typed Object- Oriented Languages With Polymorphic Inline Caches PICs achieve a median speedup of 11%. As an important SELF programs, reducing the number of non-inlined message sends by a factor of two. – 1991 (read)SELF Optimizing Dynamically-Typed Object- Oriented Languages With Polymorphic Inline Caches PICs SELF programs, reducing the number of non-inlined message sends by a factor of two. – 1991 (read)SELF Optimizing Dynamically-Typed Object- Oriented Languages With Polymorphic Inline Caches PICs0 码力 | 111 页 | 3.98 MB | 5 月前3《深入浅出MFC》2/e
bbs@cis.nctu.edu.tw:函数名称可以查help,重要的是C++ 的观念。另外就是要了 解MFC 里的Document/View/Frame,以及Dynamic Creation, Message mapping 等等。 深入浅出MFC 第二版对这些部份都有很深入的探讨,把MFC 里的一些机制直接trace code 加以说明。 xv News / BBS 论坛(CompBook DECLARE_DYNCREATE, DECLARE_DYNAMIC, IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, DECLA RE_MESSAGE_MAP, BEGIN_MESSAGE_MAP, END_MESSAGE_MAP。感激不尽,因为 我常搞不清楚。 titoni:可参考侯俊杰着的深入浅出MFC 2/e 第三章,第八章及第九章,书上的讲解可 以让你有很大的收获。 type information、dynamic creation、persistence、document/view¡ K。 注2:此指message based、event driven 之programming model。 注3:此指message mapping、command routing ¡ K。 2 在技术层次上,唯MFC Internals 堪与本书比拟(本书附录A附有MFC0 码力 | 1009 页 | 11.08 MB | 1 年前3When Nanoseconds Matter: Ultrafast Trading Systems in C++
Bounded? Blocking? # Consumers? Message Size? Dispatch? Type Support?77 Concurrent Queues Bounded? Yes – simpler & faster Blocking? # Consumers? Message Size? Dispatch? Type Support?78 Concurrent # Consumers? Message Size? Dispatch? Type Support?79 Concurrent Queues Bounded? Yes – simpler & faster Blocking? No – readers don’t affect the writer # Consumers? Many Message Size? Dispatch Many Message Size? Variable length Dispatch? Type Support?81 Concurrent Queues Bounded? Yes – simpler & faster Blocking? No – readers don’t affect the writer # Consumers? Many Message Size?0 码力 | 123 页 | 5.89 MB | 5 月前3Many Ways to Kill an Orc (or a Hero)
simply be a matter of printing an appropriate message on screen 197What to make of all this? • Compare the following implementations • Traditional object-oriented code: https://wandbox.org/permlink/do4dvYe0tQFybdbG Some problems are better solved with functions • Some lend themselves to « traditional » object-oriented solutions • Some benefit from more contemporary approaches 199What to make of all this? • We’re0 码力 | 202 页 | 1.26 MB | 5 月前3
共 173 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
相关搜索词