A Journey Into Non-Virtual PolymorphismRud Merriam | A Journey into Non-Virtual Polymorphism 2 Who Doesn’t Recognize This?? 1990 Borland Turbo C++Cppcon 2023 | Rud Merriam | A Journey into Non-Virtual Polymorphism 3 Background ● Experience – Medium.com (https://medium.com/@rudmerriam)Cppcon 2023 | Rud Merriam | A Journey into Non-Virtual Polymorphism 4 Polymorphism ● Greek: “many forms” (Obligatory statement) ● The use of a single variableCppcon 2023 | Rud Merriam | A Journey into Non-Virtual Polymorphism 5 Polymorphic Variables ● Base class pointer to derived class – Virtual functions are not bad! ● Standard Template Library0 码力 | 43 页 | 536.84 KB | 6 月前3
Back to Basics: The Abstract MachineBack to Basics: The Abstract Machine Bob Steagall CppCon 2020 K E W B C O M P U T I N GCopyright © 2020 Bob Steagall K E W B C O M P U T I N G Overview/Goals • Describe abstract machines in general general • Describe the C++ abstract machine specifically • Language goals that drive its design • Role in program development and execution • Important definitions and characteristics • Important components components of the abstract machine, and their relationships • Provide a useful overview of the C++ abstract machine CppCon 2020 - The Abstract Machine 2Copyright © 2020 Bob Steagall K E W B C O M P U T I0 码力 | 91 页 | 538.90 KB | 6 月前3
Optimizing Away Virtual Functions May Be PointlesscarePhoto by Tech Nick on unsplashSimple benchmark class Base { public: int concrete() const; virtual int virt() const; }; void benchmark(Base *b, size_t num_iterations) { auto start = Clock::now(); virt_duration = end-start;There are interesting technical details and surprising conclusions that virtual functions can be actually faster. Since CPU architectures are mentioned, I'd expect to see deep nt-vs-inheritance-vs-other- ways-performanceDoes it even matter?Conclusions ● The notion that “virtual functions are slower” is flat out wrong. ○ Which is not to say they are faster ○ Some of the suggested0 码力 | 20 页 | 1.19 MB | 6 月前3
Solving Nim by the Use of Machine LearningSolving Nim by the Use of Machine Learning Exploring How Well Nim Can be Played by a Computer Mikael Nielsen Røykenes Thesis submitted for the degree of Master in Informatics: Programming and Networks Solving Nim by the Use of Machine Learning Exploring How Well Nim Can be Played by a Computer Mikael Nielsen Røykenes c⃝ 2019 Mikael Nielsen Røykenes Solving Nim by the Use of Machine Learning http://www . . . . . . . . . 5 3.4 The Sprague-Grundy Theorem . . . . . . . . . . . . . . . . . . . 6 4 Machine Learning 6 4.1 Reinforcement learning . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1.1 The0 码力 | 109 页 | 6.58 MB | 1 年前3
BehaviorTree.CPP: Task Planning for Robots and Virtual Agentsto appreciate the power of Decorators, and the complexity of implementing the same in a State Machine! More examples: ● ForceFailure / ForceSuccess ● Repeat ● Timeout ● RunOnceExample: if-then-else name, const NodeConfig& config) : SyncActionNode(name, config) {} // You must override this virtual function NodeStatus tick() override { std::cout << "Type: [ApproachEnemy]. Instance:" <<0 码力 | 59 页 | 7.97 MB | 6 月前3
Leveraging the Power of C++ for Efficient Machine Learning on Embedded DevicesLeveraging the power of C++ for efficient machine learning on embedded devices Adrian Stanciu adrian.stanciu.pub@gmail.com CppCon, 2023 1 / 50About me ◮ I am a software engineer from Romania ◮ I have Motivation ◮ Image classification ◮ Hand gesture recognition ◮ Summary ◮ Q&A 4 / 50Motivation 5 / 50Machine Learning (ML) ◮ Subfield of Artificial Inteligence (AI) ◮ Enables computers to learn from data and consumption ◮ May have real-time performance constraints 7 / 50Machine learning on embedded devices ◮ Alternative to cloud-based machine learning ◮ Advantages: ◮ Real-time processing ◮ Low latency ◮0 码力 | 51 页 | 1.78 MB | 6 月前3
micrograd++: A 500 line C++ Machine Learning Librarymicrograd++: A 500 line C++ Machine Learning Library Gautam Sharma Independent Researcher gautamsharma2813@gmail.com Abstract—micrograd++ is a pure C++ machine learning li- brary inspired by Andrej Karpathy’s framework for building and training machine learning models. By leveraging the performance efficiency of C++, micro- grad++ offers a robust solution for integrating machine learning capabilities directly into Traditionally, all machine learning libraries are extremely bulky and very hard to integrate as third party dependencies. This aspect scares practitioners to adopt a C++ based machine learning library for0 码力 | 3 页 | 1.73 MB | 6 月前3
Reference guide for FCL-res units. Document version 3.2.2generally make an object file for the host architecture, so if you are running the program on a i386 machine it will produce a COFF or ELF file for i386. The solution is to provide TResources (??) with a specific Note that we had to use elfconsts (??) unit since we used emtsparc (??) constant to specify the machine type of the object file to generate. With a small change to the above program we can let the user integer of the size of a pointer Byte order is the one of the target machine. All data structures in the sections must be aligned on machine boundaries (4 bytes for 32 bit ma- chines, 8 bytes for 64 bit machines)0 码力 | 211 页 | 498.14 KB | 1 年前3
Just-in-Time Compilation - J F Bastien - CppCon 2020compile code to a target machine, then run it. X mapping never changes.? Interpreter Is an interpreter a JiT, or AoT? What if it modifies its bytecode? A CPU executes machine code… an interpreter executes executes bytecode… That’s the same thing, a CPU is an interpreter for machine code. A compiler can perform partial evaluation of a program, thereby interpreting it… The compiler itself can be compiled programs are typically smaller, if only because the representation chosen is at a higher level than machine code, and can carry much more semantic information implicitly. Here, think of examples where a0 码力 | 111 页 | 3.98 MB | 6 月前3
Programming in Lean
Release 3.4.2powerful abstractions. Programs written in the language can be evaluated efficiently by Lean’s virtual- machine interpreter, and work is underway to support code extraction and efficient compilation in a otherwise. For example, p n may assert that n code-blocks a halting computation sequence for some Turing machine, on a given input. In that case, choose p magically decides whether or not such a computation exists that determine whether a proposition is true (consider, for example, the proposition that a Turing machine halts). In many cases, however, we do. For example, assertions m = n and m < n about natural numbers0 码力 | 51 页 | 220.07 KB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
JourneyIntoNonVirtualPolymorphismBacktoBasicsTheAbstractMachineOptimizingAwayFunctionsMayBePointlessSolvingNimbytheUseofLearningBehaviorTreeCPPTaskPlanningforRobotsandAgentsLeveragingPowerC++EfficientonEmbeddedDevicesmicrograd++500lineLibraryReferenceguideFCLresunitsDocumentversion3.2JustinTimeCompilationBastienCppCon2020ProgrammingLeanRelease3.4













