Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!Atomics and concurrency patterns • How existing atomicare implemented (the split reference count technique) • Deferred reclamation, i.e., garbage collection in C++ Some assumed knowledge Atomics and concurrency patterns • How existing atomic are implemented (the split reference count technique) • Deferred reclamation, i.e., garbage collection in C++ Some assumed knowledge control_block pointer as a lock26 Daniel Anderson -- danielanderson.net Solution #2: The split reference count • Used by Folly (Facebook open-source library, used in production), • Used by JustThreads 0 码力 | 45 页 | 5.12 MB | 6 月前3
C++23: An Overview of Almost All New and Updated Featuresof C++ Standard Library Quick Reference& C++17 Standard Library Quick Reference Founder of the Belgian C++ Users Group (BeCPP) C++204 Agenda C++23 Core Language Explicit Object Parameters Operator Attributes on Lambda-Expressions Literal Suffix for size_t auto(x): decay-copy in The Language #elifdef, #elifndef, and #warning Marking Unreachable Code Assumptions Named Universal Heterogeneous Erasure Removed Features Garbage Collection SupportC++23 Core Language6 Agenda C++23 Core Language Explicit Object Parameters if consteval Multidimensional Subscript Operator0 码力 | 105 页 | 759.96 KB | 6 月前3
C++20: An (Almost) Complete OverviewEdition (C++20) coming later this year Co-author of C++ Standard Library Quick Reference& C++17 Standard Library Quick Reference Founder of the Belgian C++ Users Group (BeCPP)3 C++20 C++20 is big! Lots Asynchronous I/O Lazy computations Event driven applications17 Coroutines C++20 contains language additions to support coroutines Standard Library does not yet include helper classes such as C++11: remove "atomic_" and use special // functions every time you touch head public: class reference { shared_ptrp; }; auto find(T t) const { auto p = head.load(); 0 码力 | 85 页 | 512.18 KB | 6 月前3
Making Libraries Consumable for Non-C++ Developersto free that? Enabling two or more disparate entities to work together.Why interoperability? No language or platform is good for everything. Fast inner loop Makes UX easy Has tooling for workload that later.What assumptions are being made? void get_size(size_t dev, long* size); Non-C/C++ language. Caller of get_size(). C/C++ binary. Provides get_size(). gcc and clang, sizeof(long) == sizeof(size_t) “width”. Explicitly state/document/reference function conventions. • Defining a macro for calling conventions is a great start. For example, MYLIB_CCONV. • Reference: llvm - CallingConv.h • Don’t throw0 码力 | 29 页 | 1.21 MB | 6 月前3
新一代分布式高性能图数据库的构建 - 沈游人持存储计算分离 高性能 基于 Rust 开发的分布式存储引 擎及图计算引擎,精细的内存 管理设计,内置索引系统,支 持毫秒级的并发查询响应速度 易用 AQL(Atlas Graph Query Language) ,类 SQL 的图查询 语言,内置上百种分析函数, 面向分析师友好,拥抱标准, 基于 openCypher 向 ISO GQL 迈进 实时大图 支持万亿节点存储及流式计算 引擎的结合,最新数据实时入 (or classes) of vertices and edges Labels 查询语言:基于 Cypher 贴合 ISO GQL Standard • Incorporate by reference specifications from SQL/Framework and SQL/Foundation • Capabilities needed by both SQL/PGQ (Property Graph Queries in SQL) and the GQL standard • GQL Specific Capabilities •2019-09 – 39075 Database Language GQL project approved - this is the start •2021-11 – CD Ballot started •2022-02 – CD Ballot ended0 码力 | 38 页 | 24.68 MB | 1 年前3
C++20's question, please hold them until after the session is over. • When asking questions, please reference slide numbers5 About Me: • Miya Natsuhara • Software Engineer on the Visual C++ Libraries Team Calendars and Time Zones in MSVC – Miya Natsuhara • An Editor Can Do That? Debugging Assembly Language and GPU Kernels in Visual Studio Code – Julia Reid • Why does std::format do that? – Charlie Barto0 码力 | 55 页 | 8.67 MB | 6 月前3
RustBelt - Rust 的形式化语义模型Background ERC Project "RustBelt" 2015-2021 Unlike C/C++, Rust is a safe language But, like C/C++, Rust is also an unsafe language There are guaranteed memory safety, thread safety, ... There are plenty of the Rust Programming Language. In POPL 2018: ACM SIGPLAN Symposium on Principles of Programming Languages Ralf Jung. Understanding and Evolving the Rust Programming Language. PhD dissertation, Saarland Concurrent Separation Logic Framework RustBelt: Securing the Foundations of the Rust Programming Language Coq Proof Assistant: A Formal Proof Management System built on top of built on top of Rust0 码力 | 21 页 | 2.63 MB | 1 年前3
基于Rust-vmm实现Kubernetes运行时containerd runnc+Nabla OCI Solution OCI Compa tible Dedicated Docker Image Impleme ntation Language Open source Hot plug Direct access to HW Required Hyperviso rs Backed by Runc Yes Yes Golang common virtualization components which implements a Rust-based VMM. • Written in Rust: Memory-safe language • Secure: Minimal hardware emulation • Flexible: Easy to customize to fit various network, storage these companies setup a Rust-VMM project History of Rust-VMM Rust-VMM Overview Rust Based • New language with a focus on correctness and performance • Compiled to native code offering performance similar0 码力 | 27 页 | 34.17 MB | 1 年前3
陈东 - 利用Rust重塑移动应用开发-230618as embedded devices, IOS, Android, etc. It is an inevitable choice for our business to choose a language that can support multiple platforms. Share Logic 利用 Rust 重塑移动应用开发 Keystone App is a mobile application chart Rust FFI Rust FFI (Foreign Function Interface) refers to the ability of Rust programming language to interface with code written in other languages, typically C or C++. FFI allows Rust to call languages. - JNI JNI is an interface that allows Java to interact with code written in another language. Motivation for JNI is code reusability and performance. WIth JNI, you can reuse existing/legacy0 码力 | 22 页 | 2.10 MB | 1 年前3
No Silver Bullet – Essence and Accident in Software Engineeringdifficulties.”Solutions to Accidental Difficulties • High-level languages • The most a high-level language can do is to furnish all the constructs the programmer imagines in the abstract program • Time-sharing are they remainders of our accidental difficulties?”Silver bullets? • Ada and other high-level language advances • Object-oriented programming • Artificial intelligence • Expert systems • “Automatic” content, automatic programming has always been a euphemism for programming with a higher-level language than was presently available to the programmer • In essence, it is the solution method, not the0 码力 | 35 页 | 1.43 MB | 5 月前3
共 25 条
- 1
- 2
- 3
相关搜索词
LockFreeAtomicSharedPointersWithoutSplitReferenceCountItCanBeDoneC++23AnOverviewofAlmostAllNewandUpdatedFeatures20CompleteMakingLibrariesConsumableforNonDevelopers游人RustCCAtlasGraphChrono王俊吉RustConf2023RustBelt基于Rustvmm实现Kubernetes运行陈东利用重塑移动应用开发230618NoSilverBulletEssenceAccidentinSoftwareEngineering













