Back To Basics Lifetime Management0 码力 | 66 页 | 8.43 MB | 6 月前3
Libraries: A First Step Toward Standard C++ Dependency Management1October 3, 2023 2 Libraries: A First Step Toward Standard C++ Dependency Management Bret Brown, C++ Infrastructure Lead, Bloomberg Bill Hoffman, CTO, KitwareHello! Welcome! Bret Brown C++ Infrastructure portable as the code they contain! ● ✓ Projects should be “cattle,” not “pets”! 7Why dependency management? 8Consensus: Managing dependencies == way too hard Q: Which of these do you find frustrating names: jsonlogConfig.cmake Jsonlog-config.cmake # ... CMake gives you some dependency management tips here ... 13 Aside: Coloring and bolding added for emphasisMotivation: What would we design0 码力 | 82 页 | 4.21 MB | 6 月前3
When Nanoseconds Matter: Ultrafast Trading Systems in C++military campaign… and festivals! 5 Source: Atlas van LoonProtecting ourselves against the world’s uncertainty Source: International Monetary Fund (IMF)Market Making “There is no silver bullet that will help TCP/UDP stack - Reduced set of features • EF_VI - Layer 2 API: interface, buffers and memory management (similar to DPDK) - Lowest latency onload --profile=latency ./algo_trader Source: solarflare0 码力 | 123 页 | 5.89 MB | 6 月前3
Six Impossible ThingsAvailability Partition tolerancex p h 2 _We demand rigidly defined areas of doubt and uncertainty!twitter.com/KevlinHenney/status/1351956942877552646 It is a feature of a distributed system that0 码力 | 144 页 | 6.47 MB | 6 月前3
CppCon2021 Concurrency TS2 about HP and RCU since 2014 1.Erwin Schrödinger’s Zoo and Werner Heisenberg’s advice 2.Increase uncertainty to get performance and scalability 3.So Procrastinate away! Use Structured Deferral 4.Shared_ptr0 码力 | 58 页 | 1.62 MB | 6 月前0.03
Back to Basics: Designing Classes (part 1 of 2)Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Guidelines Data Member Initialization Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Guidelines Data Member Initialization Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Guidelines Data Member Initialization0 码力 | 87 页 | 5.64 MB | 6 月前3
Back to Basics: Designing Classes (part 2 of 2)Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Guidelines Data Member Initialization Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Guidelines Data Member Initialization Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Guidelines Data Member Initialization0 码力 | 76 页 | 2.60 MB | 6 月前3
Relocation: Blazing Fast Save And Restore, Then Morel!special cases • That’s not something that can be helped either • Fortunately, true resource management objects are very few.We pick our poison • Libraries, user code will be in the “normal” way, we from the execution resources (SIMD, CUDA, …) • No allocations (or much cheaper slot available management) • Dis-incentives to communicate via state changes, others • In general: put data where it are obstructed by their value managers!Value Management • The concern of allocator is clearly not the only plausible concern that concerns management of values that needs to be communicated from types0 码力 | 41 页 | 2.81 MB | 6 月前3
CROSS PLATFORM PITFALLS AND HOW TO AVOID THEMsystems and build system generators Dependency management Debugging TestingAgenda Build systems and build system generators Dependency management Demo Debugging Testing DemoBUILD SYSTEMS AND Effective CMake Henry Schreiner & other contributors: Modern CMakeDEPENDENCY MANAGEMENT The problemsDependency management: the problems Source: ISO C++ 2020 Developer Survey Major paint point Minor Managing libraries my application depends on 46.54% 478 38.56% 396 14.90% 153 1,027Dependency management: the problems Source: ISO C++ 2020 Developer Survey Major paint point Minor paint point Not0 码力 | 67 页 | 360.44 KB | 6 月前3
Conan 1.19 Documentationmanager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Binary management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cross which is moderated, and packages are reviewed before being accepted to ensure quality. 1.3 Binary management One of the most powerful features of Conan is that it can manage pre-compiled binaries for packages copying assets, images, sounds, test static files, etc. Conan is a generic solution for package management, not only for (but focused on) C/C++ libraries. See also: To learn more about working with shared0 码力 | 609 页 | 4.88 MB | 1 年前3
共 146 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15













