C++20 镶 SQLC++20 ❤ SQL John R Bandela, MDOverview u SQL u C++ Example u Implementation techniques u fixed_string u meta_struct u Parsing compile time strings into meta_structsOverview v SQL v C++ Example language v It matches the capabilities of a relational database v Very widely used. You will be able to find all sorts of information about itExample Database Customers id INTEGER PRIMARY KEY name TEXT ing SQL Injection Attacks SELECT orders.id, name, item, price, discount_code FROM orders JOIN customers ON customers.id = customerid WHERE price > ?;SQL Library Options u Traditional database library0 码力 | 46 页 | 775.02 KB | 6 月前3
A Multithreaded, Transaction-Based Locking Strategy for ContainersAnother Solution – Strict Timestamp Ordering (STO) • STO is one of many database concurrency control algorithms • It is a transactional, timestamp-based algorithm • Timestamp • A monotonically increasing Measure multi-threaded updates guarded by a single critical section • Measure multi-threaded transactional updates • 8-Core (16 hypercores), Ubuntu 18.04, GCC 10.2 CppCon 2020 - A Multi-threaded, Transaction-Based fprintf(fp, "RACE FOUND!, TX %zd item %zd\n", tx.id(), this->id()); } }Copyright © 2020 Bob Steagall Transactional Element Access Test 110 CppCon 2020 - A Multi-threaded, Transaction-Based Locking Strategy for0 码力 | 142 页 | 474.78 KB | 6 月前3
Delivering safe C++event in 1ms. • Allocation unpredictability: for example, ban on free store allocation “after the engine starts.” • Termination errors: a library that terminates in case of “unanticipated conditions” being break-ins • Spies (insider attacks) • Spear phishing • Door rattling • Denial of service attacks • SQL injection • Corrupted input/Data • Rule of thumb: always first attack the weakest link Stroustrup resource is something that must be acquired and released after use • E.g., files, memory, locks, database transactions, communication channels, GUI connections, threads • Explicit release is error-prone0 码力 | 74 页 | 2.72 MB | 6 月前3
Heterogeneous Modern C++ with SYCL 2020Learning Chair of WG21 SG14 Games Dev/Low Latency/Financial Trading/Embedded ● Editor: C++ SG5 Transactional Memory Technical Specification ● Editor: C++ SG1 Concurrency Technical Specification ● MISRA Automotive, and AI Compilation Ingestion FPGA DSP Dedicated Hardware GPU Vision / Inferencing Engine Compiled Code Hardware Acceleration APIs Diverse Embedded Hardware Multi-core CPUs, GPUs0 码力 | 114 页 | 7.94 MB | 6 月前3
CppCon 2021: Persistent Data StructuresIntroduction Persistent Hash Map Persistent Transactional Data Structures Live Demonstration ReferencesIntroduction Persistent Hash Map Persistent Transactional Data Structures Live Demonstration References Persistent Hash Map Design Goals and Methodology Persistence Performance Results Persistent Transactional Data Structures Design Goals Methodology Performance Results Live Demonstration A Persistent Processing Workloads and a Methodology for Persistent Transactional Data Structures 2IntroductionIntroduction Persistent Hash Map Persistent Transactional Data Structures Live Demonstration References Introduction0 码力 | 56 页 | 1.90 MB | 6 月前3
Performance Matterssearch. gle glegle gle gle gle found 8,000,000 similar images Take a picture Add it to the database Send results Find similar pictures Send it to Ogle The Prototype� � � � � found 8,000,000 ░░░░░░░░░░▓▓▌▐ ▌ ▐█▓░░░░░░░░░░░░░░░░░░░░░░░░░░██▐ ▌█▓▌░░░░░░░░░░░░░░░░░░░░░░░░░░░▓█▐Searching database... found 4 results: catisgumpy.bmp funisawful.bmp catdoesnotlikefun.bmp from_dad.bmp OGLE Speedup Results � � � �gle gle found 8,000,000 similar images Take a picture Add it to the database Send results Find similar pictures Send it to Ogle gle glegle gle found 8,000,000 similar0 码力 | 197 页 | 11.90 MB | 6 月前3
Conan 2.0 Documentationconsisting in 3 packages: a matrix package, emulating some mathematical library, an engine package emulating some game engine, and a sound32 package, emulating a sound library for some 32bits systems. These Release 2.0.17 engine/1.0 matrix/1.0 sound32/1.0 if arch==x86 We will start by creating the first matrix/1.0 version: $ conan create matrix --version=1.0 Now we can check in the engine folder its recipe: recipe: class Engine(ConanFile): name = "engine" settings = "arch" def requirements(self): self.requires("matrix/[>=1.0 <2.0]") if self.settings.arch == "x86": self.requires("sound32/[>=1.0 <2.0]")0 码力 | 652 页 | 4.00 MB | 1 年前3
Conan 2.1 Documentationconsisting in 3 packages: a matrix package, emulating some mathematical library, an engine package emulating some game engine, and a sound32 package, emulating a sound library for some 32bits systems. These Release 2.1.0 engine/1.0 matrix/1.0 sound32/1.0 if arch==x86 We will start by creating the first matrix/1.0 version: $ conan create matrix --version=1.0 Now we can check in the engine folder its recipe: recipe: class Engine(ConanFile): name = "engine" settings = "arch" def requirements(self): self.requires("matrix/[>=1.0 <2.0]") if self.settings.arch == "x86": self.requires("sound32/[>=1.0 <2.0]")0 码力 | 694 页 | 4.13 MB | 1 年前3
Conan 2.5 Documentationconsisting in 3 packages: a matrix package, emulating some mathematical library, an engine package emulating some game engine, and a sound32 package, emulating a sound library for some 32bits systems. These of lockfiles. engine/1.0 matrix/1.0 sound32/1.0 if arch==x86 We will start by creating the first matrix/1.0 version: $ conan create matrix --version=1.0 Now we can check in the engine folder its recipe: recipe: class Engine(ConanFile): name = "engine" settings = "arch" def requirements(self): self.requires("matrix/[>=1.0 <2.0]") if self.settings.arch == "x86": self.requires("sound32/[>=1.0 <2.0]")0 码力 | 769 页 | 4.70 MB | 1 年前3
Conan 2.3 Documentationconsisting in 3 packages: a matrix package, emulating some mathematical library, an engine package emulating some game engine, and a sound32 package, emulating a sound library for some 32bits systems. These of lockfiles. engine/1.0 matrix/1.0 sound32/1.0 if arch==x86 We will start by creating the first matrix/1.0 version: $ conan create matrix --version=1.0 Now we can check in the engine folder its recipe: recipe: class Engine(ConanFile): name = "engine" settings = "arch" def requirements(self): self.requires("matrix/[>=1.0 <2.0]") if self.settings.arch == "x86": self.requires("sound32/[>=1.0 <2.0]")0 码力 | 748 页 | 4.65 MB | 1 年前3
共 154 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16













