Quantifying Accidental Complexity: An empirical look at teaching and using C++# Quantifying Accidental Complexity An empirical look at teaching and using C++ Herb Sutter ## Why complexity matters We’re “paying taxes” all the time Productivity Correctness and quality Tooling catalog, classify, and count ## Fred Brooks: Complexity ## Essential complexity Inherent in the problem, present in any solution ## Accidental complexity PUSH Artifact of a specific solution design first 638 rules catalogued 533 language 25 essential + minimal 147 ‘essential’ + improvable 361 accidental + improvable 0 码力 | 36 页 | 2.68 MB | 1 年前3
Algorithmic Complexity## Algorithmic Complexity Amir Kirsh & Adam Segoli Schubert ___  © All rights reserved ## Why this talk? ## Why this jpg) ## Algorithmic Complexity Performance is the name of the game ## Algorithmic Complexity It’s actually about something BIGGER than just performance ## Algorithmic Complexity What's BIGGER than performance? ## Algorithmic Complexity What's BIGGER than just performance? ## Scalability # Computational Complexity Computational Complexity or simply Complexity of an algorithm is the amount0 码力 | 52 页 | 1.01 MB | 1 年前3
C++ Con 2024: Amortized Complexity## Amortized $ \mathcal{O}(1) $ Complexity Andreas Weis CppCon 2024 $$ \blacksquare f\in\mathcal{O}(g)\iff\exists C>0.\exists x_{0}>0.\forall x>x_{0}:|f(x)|\leq C\cdot|g(x)| $$ Child's What is amortized complexity? The Design and Analysis of Computer Algorithms  What is amortized complexity?  # What is amortized complexity? # AMORTIZED COMPUTATIONAL COMPLEXITY $ ^{*} $ ROBEY EMORE0 码力 | 60 页 | 2.56 MB | 1 年前3
Neighborhoods Banding Together: Reasoning Globally about Programssapien, sed malesuada diam lacus eget erat. ## Local phase Validate small neighborhoods with high-complexity algorithms. Describe neighborhood interactions coarsely in small tables. ## Global phase Collate Collate the small tables into a big table of interactions. Validate the interactions with low-complexity algorithms. Indirect caller's interface fits many functions Function interface fits a specific0 码力 | 49 页 | 1.03 MB | 1 年前3
No Silver Bullet – Essence and Accident in Software Engineeringfashioning of the complex conceptual structures that compose the abstract software entity, and accidental tasks, the representation of the abstract entities in programming languages and the mapping of big gains in software productivity have come from removing artificial barriers that have made the accidental tasks inordinately hard, such as severe hardware constraints, awkward programming languages, lack lack of machine time. How much of what software engineers now do is still devoted to the accidental, as opposed to the essential?” ## Agile Abstract “Therefore it appears that the time has come to address0 码力 | 35 页 | 1.43 MB | 1 年前3
The Roles of Symmetry And Orthogonality In Designpredictability and consistent behavior (once pattern is recognized) Enables system scaling (in size and complexity) ## Symmetry (def): Agreement in dimensions due to proportion and arrangement  probing of your components and subsystems will identify changes to lower system complexity • Does each step express clear purpose? • If yes, is more obvious for enforcing step semantics obvious for where a desired action should be placed • Are the steps guaranteed to occur? • If yes, complexity is reduced (edge cases are removed) • Can a step be “empty” (e.g., “do nothing” or “default” behavior0 码力 | 151 页 | 3.20 MB | 1 年前3
C++20 STL Features: 1 Year of Development on GitHubremove if(v.begin(), v.end(), pred); • v.erase(remove_if(v.begin(), v.end(), pred)); • Quadratic complexity vec.erase(iter) loop ☐ • Invalidating iterators while looping ☐ • Skipping elements while looping better • spans are implicitly constructible from arrays and vectors • Avoids ownership confusion, accidental pointer arithmetic span→ span ; span → □ span • Shallow const 0 码力 | 45 页 | 702.09 KB | 1 年前3
C++20 STL Features: 1 Year of Development on GitHubremove_if(v.begin(), v.end(), pred); • v.erase(remove_if(v.begin(), v.end(), pred)); • Quadratic complexity vec.erase(iter) loop • Invalidating iterators while looping • Skipping elements while looping better • spans are implicitly constructible from arrays and vectors • Avoids ownership confusion, accidental pointer arithmetic • span☐ span ; span ✗ span • Shallow const 0 码力 | 45 页 | 989.72 KB | 1 年前3
Blender v4.1 Manuallighting, animation principles, etc. 3D creation software such as Blender have an added technical complexity and jargon associated with the underlying technologies. Terms like UV maps, materials, shaders selecting objects that are in a different mode than the current one. Note This option can prevent accidental mode changes, such as when you’re trying to select a bone in Pose Mode to animate it, but instead 9c1df1a.png) Example of a node group. Grouping nodes can simplify a node tree by hiding away complexity and reusing repetitive parts. Conceptually, node groups allow you to treat a set of nodes as though0 码力 | 6263 页 | 303.71 MB | 1 年前3
openEuler OS Technical Whitepaper
Innovation Projects
(June, 2023)application of multiple hardware-related parallel and communication technologies leads to the increasing complexity of porting between different architectures, and deploying and optimizing HPC applications can be policies. The measurement result can be used for measurement and appraisal: • Measurement: Detects accidental or malicious modifications to files, with local or remote attestation. • Appraisal: Measures a has a bigger impact. When PID 1 is faulty, the OS must be restarted to rectify the fault. • High complexity: systemd becomes the de facto standard for PID 1, introducing many new concepts, tools, and extended0 码力 | 116 页 | 3.16 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词
accidental complexityC++complexitysimplificationreduction算法复杂度时间复杂度空间复杂度摊还复杂度内存局部性amortized complexityamortized analysispotential methodaccounting methodaggregate analysisNeighborhoodsLocal reasoningHigh-complexity algorithmsGlobal phaseLow-complexity algorithms软件工程本质任务偶然任务复杂性银弹对称性正交性设计关系系统耦合设计优雅GitHubC++20STLconstexprVisual C++ LibrariesC++20 STL FeaturesGitHub DevelopmentrangesvNext用户界面3D 视口键盘快捷键Blender版本更新openEuler技术生态统一兼容性边缘计算嵌入式系统













