C++23: An Overview of Almost All New and Updated FeaturesLibrary Quick Reference Founder of the Belgian C++ Users Group (BeCPP) C++204 Agenda C++23 Core Language Explicit Object Parameters if consteval Multidimensional Subscript Operator Attributes Before Line Splicing C++23 Standard Library String Formatting Improvements Standard Library Modules std::flat_(multi)map / std::flat_(multi)set std::mdspan std::generator basic_string(_view)::contains() Containers Heterogeneous Erasure Removed Features Garbage Collection SupportC++23 Core Language6 Agenda C++23 Core Language Explicit Object Parameters if consteval Multidimensional Subscript0 码力 | 105 页 | 759.96 KB | 6 月前3
C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南find_package(OpenCV REQUIRED COMPONENTS core videoio) • 查找名为 OpenCV 的包,找不到就报错,且必须具有 OpenCV::core 和 OpenCV::videoio 这 两个组件,如果没有这两个组件也会报错。 • find_package(OpenCV REQUIRED OPTIONAL_COMPONENTS core videoio) • 查找名为 OpenCV OpenCV 的包,找不到就报错,可具有 OpenCV::core 和 OpenCV::videoio 这两个 组件,没有这两组件不会报错,通过 ${OpenCV_core_FOUND} 查询是否找到 core 组件。 find_package 说是找“包”,到底是在找什么? • find_package(OpenCV) 实际上是在找一个名为 OpenCVConfig.cmake 的文件。 • 注:出于历史兼容性考虑,除了 Qt5Config.cmake 是你安装 Qt5 时,随 libQt5Core.so 等实际的库文件,一起装到你的 系统中去的。以我的 Arch Linux 系统为例: • 包配置文件位于 /usr/lib/cmake/Qt5/Qt5Config.cmake 。 • 实际的动态库文件位于 /usr/lib/libQt5Core.so 。 find_package 说是找“包 (package)”0 码力 | 56 页 | 6.87 MB | 1 年前3
NativeScript 101What can we cover today? oRise of "JavaScript-driven Native" oIntro to NativeScript oNativeScript core concepts o“Hello World” oExtending with plugins oDebugging JavaScript Why are we here? How did NativeScript Everything Runs on UI Thread* • Plugins created with native code • React Support • API Access via Native Modules • UI Thread vs JS Thread • Angular/Vue/Vanilla vs React • Progress vs Facebook • Apache 2.0 vs Intro to NativeScript What is it? How does it work? 2013 2014 2015 2016 2017 Early prototype s “Core” engineerin g Public launch Adoption ramp-up Mass adoption Project Timeline NativeScript0 码力 | 90 页 | 40.11 MB | 1 年前3
使用硬件加速Tokio - 戴翔it also provides the knobs needed to fine tune to different cases. Flexible Tokio Core Queue-Based Modules in Tokio • Channel • Scheduler • Tokio uses Channel for communication between threads Senders Senders Receive Receivers Perf Gaps: CAS(Compare And Swap) can't perfectly scale with core count. Tokio Channel • Each worker has own run queue • Steal when own run queue is empty From Adding new entries from any core or thread • Picking the next entry by any core or thread Conclusion: • DLB channel scales with core count much better than SW channels • Core count >2 shows advantage0 码力 | 17 页 | 1.66 MB | 1 年前3
C++20: An (Almost) Complete Overviewstandard passed ISO voting, expected to be formally published by the end of 2020.4 Agenda Modules Ranges Coroutines Concepts Lambda Expression Changes [=, this] as Lambda Capture co_yield char8_t New identifiers: import moduleModules7 Modules Advantages Replace header files Modules explicitly state what should be exported (e.g. classes, functions, …) names, same name in multiple modules will not clash Modules are processed only once faster build times Preprocessor macros have no effect on, and never leak from, modules Order of module imports0 码力 | 85 页 | 512.18 KB | 6 月前3
whats new in visual studiois now feature complete • All features under /std:c++20 switch are production ready including modules, coroutines, concepts • C++20 features awaiting DR resolution are available for now under /std:c++latest Concepts and Ranges Sy Brand, Christopher Di Bella – `Online _3 Mon, Oct 25 – 3:15pm Implementing C++ Modules: Lessons Learned, Lessons Abandoned Cameron DaCamara, Gabriel Dos Reis – _2 Thu, Oct 28 – 3:15pm and basic_string_view • Other small features 🕙 Coming next for C++23 • STL • Standard library modules • Coroutines 💡 C++98* * with /permissive- 💡 C++11 💡 C++14 💡 C++17 💡 C++20* *awaiting DR resolution0 码力 | 42 页 | 19.02 MB | 6 月前3
Rust 异步并发框架在移动端的应用 - 陈明煜能不如 Tokio smol Rayon 并非异步运行时。它通过同步 多线程模型提供了并行迭代器功能, 适用于处理 CPU 密集型计算任务 rayon 现有框架无法完美适配移动端(一) Core Thread Thread Worker Worker task task Local queue Local queue Tokio 采用了如右图这种 GMP 模式: • 一核可以绑定多线程,每个线程拥有一个 queue Core 高权重线程 Worker Worker 任务优先级调度 根据工作线程的优先级进行绑核(大小核) • 高优先级任务在大核执行,高性能 • 低优先级任务在小核执行,节省能耗 Task priority and quality of service Big Core Little Core 高优先级线程 低优先级线程 普通优先级线程 Set core-affinity0 码力 | 25 页 | 1.64 MB | 1 年前3
陈东 - 利用Rust重塑移动应用开发-230618Crypto Core 利用 Rust 重塑移动应用开发 RCC_android RCC_ios https://github.com/KeystoneHQ/rust-crypto-core https://github.com/KeystoneHQ/rcc_android https://github.com/aaronisme/rcc_ios Rust Crypto Core Core0 码力 | 22 页 | 2.10 MB | 1 年前3
绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能More components will be open source later • Support more Linux distributions • Build IPVS kernel modules in Ubuntu, Centos • IPVS-eBPF next generation on the way • Implement IPVS SNAT with eBPF without0 码力 | 24 页 | 1.90 MB | 1 年前3
Finding Bugs using Path-Sensitive Static Analysisannouncements Take our survey https://aka.ms/cppconOur Sessions Monday 25th • Implementing C++ Modules: Lessons Learned, Lessons Abandoned – Cameron DaCamara & Gabriel Dos Reis Tuesday 26th • Documentation0 码力 | 35 页 | 14.13 MB | 6 月前3
共 19 条
- 1
- 2













