10 Problems Large Companies Have with Managing C++ Dependencies and How to Solve Them10 Problems Large Companies Have Managing C++ Dependencies and How to Solve Them Augustin Popa, Microsoft C++ TeamIntroduction Augustin Popa Senior Product Manager, Microsoft C++ Team @augustin_popa vulnerabilities 7. Centralize common tasks 8. Produce SBOMs 9. Global, reproducible builds 10. Break large migrations down into smaller milestonesDemo Intro: Cataclysm: Dark Days Ahead vcpkg + CMake + Visual usable binaries •Build times: 2nd biggest pain point for C++ (ISO C++ surveys) •Scales poorly with large projects or many distributed teamsProblem 2: Build times are too long when building from source Solution0 码力 | 46 页 | 917.72 KB | 6 月前3
Eager Futures/Promises to Lazy Continuations: Evolving an Actor Library Based on Lessons Learned from Large-ScaleFutures/Promises to Lazy Continuations Evolving an Actor Library Based on Lessons Learned from Large-Scale Deployments Benjamin Hindman @benh CppCon 2021prologue ● past life at UC Berkeley, Twitter use a different language (e.g., Erlang) …possible solutions just wait … use threads … too expensive, not conducive to correctness use coroutines … circa 2009 use a different language (e.g., Erlang) threads … too expensive, not conducive to correctness use coroutines … circa 2009 use a different language (e.g., Erlang) … or bring Erlang to C++! use callbacks …possible solutions just wait … use threads0 码力 | 264 页 | 588.96 KB | 6 月前3
Reflection Based Libraries to Look Forward ToMyClass object at 0x7f1a9 1 2 3 4 5 6 7 8 9 10 11 13GoLang 14Golang is a compiled but duck-typed language Well, structurally typed, but close enough Runtime reflection similar to python. No special P2996 37Pretty nice huh? 38How do we use this new superpower? 39Reflection is a really powerful language feature With great power comes great responsibility Easier to write general-purpose / boilerplate-reducing boilerplate-reducing libraries Solve multiple pain-points through a single feature The hallmark of a useful language feature Reflection libaries! 40Libraries would require fewer redundant inputs from the user No0 码力 | 118 页 | 14.33 MB | 6 月前3
Back to Basics: Classic 9STL3CppCon 2021 – Back to Basics: Classic STL Copyright © 2021 Bob Steagall What is "Classic STL?" 4 Language Support Concepts Diagnostics General Utilities Containers Iterators Algorithms Strings Ranges is "Classic STL?" • The short answer – containers + iterators + algorithms + some utilities 5 Language Support Concepts Diagnostics Original Utilities Containers Iterators Algorithms Strings Ranges collection of elements has some representation • A large number of possible representations • There are many kinds of processing (algorithms) • A very large number of algorithms • In any given problem space0 码力 | 75 页 | 603.36 KB | 6 月前3
Modern C++ Tutorial: C++11/14/17/20 On the Fly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Chapter 02: Language Usability Enhancements 13 2.1 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Chapter 03: Language Runtime Enhancements 37 3.1 Lambda Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7 PREFACE Preface Introduction The C++ programming language owns a fairly large user group. From the advent of C++98 to the official finalization of C++11, it has continued0 码力 | 92 页 | 1.79 MB | 1 年前3
GraphBLAS: Building a C++ Matrix API for Graph AlgorithmsPlease hire me! About Us 2 Scott, Principal Engineer at CMU SEI Graph/ML/AI algorithms for large- and small- scale parallel systems. Working on GBTL, a linear algebra-based C++ library for graph What This Talk Is Not - A C++ standards proposal - A complete evaluation of graph programming models[DISTRIBUTION STATEMENT A] This material has been approved for public release and unlimited distribution What This Talk Is Not - A C++ standards proposal - A complete evaluation of graph programming models[DISTRIBUTION STATEMENT A] This material has been approved for public release and unlimited distribution0 码力 | 172 页 | 7.40 MB | 6 月前3
Common Package Specification: Getting Build Tools to Talk to Each Otherconfiguration: Windows, x86_64, VS-2022, Release, static library 3. Install (system package manager or language package manager), build from source by the user, with that configuration 4. Pass information any build system 18 ? ? - Proprietary - Precompiled - Legacy pkg/0.1 conanfile.pyHow Conan models the CPS def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") self shared else "zlib" else: libname = "z" self.cpp_info.libs = [libname] 19How Conan models the CPS def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") self0 码力 | 94 页 | 1.58 MB | 6 月前3
Behavioral Modeling in HW/SW Co-design Using C++ CoroutinesName 8 © 2023 Intel Corporation and Jeffrey E. Erickson cppcon 2023 8 Coroutines are an enabling language feature • To date, coroutines have been about execution and workloads • In the modeling context state machines • Look more like RTL • Handle parallelism in a way that isn’t clunky • Scale across large and complex HW interactions But, coroutines lack comprehensive standard library support • We used device_register • We offer two extensions • How to hook via preprocessor and typedef • How to handle cross-language use of the modelIntel Confidential Department or Event Name 36 © 2023 Intel Corporation and Jeffrey0 码力 | 44 页 | 584.69 KB | 6 月前3
Heterogeneous Modern C++ with SYCL 20201Michael Wong Distinguished Engineer ● Chair of SYCL Heterogeneous Programming Language ● ISO C++ Directions Group past Chair ● Past CEO OpenMP ● ISOCPP.org Director, VP http://isocpp.org/wiki/ Automotive Currently leading team developing HIP & CUDA backends for DPC++ Background in C++ programming models for heterogeneous systems Worked on ComputeCpp (SYCL) since its inception Contributor to the Khronos parallel programming freedom 13Parallel Industry Initiatives 2011 OpenCL 1.2 OpenCL C Kernel Language OpenCL 2.1 SPIR-V in Core 2015 OpenCL 2.2 2017 2020 202X SYCL 1.2 C++11 Single source0 码力 | 114 页 | 7.94 MB | 6 月前3
Reflection Is Not Contemplationwe’re chasing our tails •Recall ^^x reflects on x, [:y:] unreflects (splices) y; [:^^x:] is x •Large consensus on introspection query: contemplation is great •Fear and loathing about code generation // Same as: int x = 42; typename[:^char:] c = '*'; // Same as: char c = '*';Comparison of Splicing Models •The Spec API: function calls create a “spec” of a type that is spliced • Complex; problematic; Same as: char c = '*';Suddenly, an AIWe Can’t Not Talk About This •How is generative AI changing language (features) design? •jippity.pro: 350 lines of working code written by a 9 yo in 3h •Entire project0 码力 | 45 页 | 2.45 MB | 6 月前3
共 271 条
- 1
- 2
- 3
- 4
- 5
- 6
- 28
相关搜索词
10ProblemsLargeCompaniesHavewithManagingC++DependenciesandHowtoSolveThemFromEagerFuturesPromisesLazyContinuationsEvolvinganActorLibraryBasedonLessonsLearnedfromScaleDeploymentsReflectionLibrariesLookForwardToBackBasicsClassic9STLModernTutorial11141720OntheFlyGraphBLASBuildingMatrixAPIforGraphAlgorithmsCommonPackageSpecificationGettingBuildToolsTalkEachOtherBehavioralModelinginHWSWCodesignUsingCoroutinesHeterogeneousSYCL2020IsNotContemplation













