Techniques to Optimise Multi-threaded Data Building During Game Development
debug mostly - also in release ▶ Easiest fix - expand code manually Fixes compile time issue - no templates Function too big to be inlined by compiler - just like std::tie release ▶ Better fix - split spinning - rather than processing Not likely to get lock either - it is 1 of 19 waiting Speaker notes◼ : Ordinary Job ◼ : Processing Job ◼ : Saving Job (Waiting) ◼ : Saving Job (Writing) ◼ : CPU Usage regular jobs use 50% CPU 100% usage is SpinLocks - Followed by 20% usage in saving jobs Speaker notes38Speaker notesAVOID BLOCKING – CONFIRMATION • Changed from SpinLock to mutex • Result: ▪ CPU usage0 码力 | 99 页 | 2.40 MB | 5 月前3Things Happening in SG14
CppCon speaker) • Meeting in a café, discussing various things that could make C++ better • Taking notes, synthesizing ideas, collating material, examples, use cases… 27What is P2966? • Once upon a time… many of the numerous proto- proposals that were discussed • Examples, alternative designs, various notes and suggestions • A working document for the group, really • Hopefully, helpful to those who will in so-called « debug » builds would be acceptable • …due to the costs expected in so-called « release » builds 57Principle: debugging matters • For some of the suggestions, availability only in so-called0 码力 | 148 页 | 1009.97 KB | 5 月前3Back to Basics: Concurrency
progress can be made (the thread waits forever) ○ This typically happens when a thread does not release a lock, and goes out of scope or otherwise terminates before releasing the lock 82Deadlock - lack deadlock! Consider the more complex case where some ‘exception’ is thrown and we ‘forget’ to also release the lock in catch. You could still remember to use a lock, but we have a better toolPrefer lock_guard scoped_lock and unique_lock) ○ Which helps us from forgetting to ‘unlock’ a lock (Uses RAII to release lock) ● condition_variable ○ A way to ‘signal’ between multiple threads when work is done ● std::atomic0 码力 | 141 页 | 6.02 MB | 5 月前32020: The Year of Sanitizers?
brave nerds… or “How we manage to clang-tidy our whole code base, while maintaining our monthly release cycle” Why Do I Care ? 2020 Victor Ciura | @ciura_victor - 2020: The Year of Sanitizers? tools/instrumentation), 2x or more sometimes difficult to map error reports into source code for Release/optimized builds (symbols info, line numbers, inlined functions) some tools require to recompile tools/instrumentation), 2x or more sometimes difficult to map error reports into source code for Release/optimized builds (symbols info, line numbers, inlined functions) some tools require to recompile0 码力 | 135 页 | 27.77 MB | 5 月前3Conan 2.5 Documentation
Conan Documentation Release 2.5.0 The Conan team Jul 09, 2024 CONTENTS 1 Introduction 3 1.1 Open Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758 Index 759 iii iv Conan Documentation, Release 2.5.0 Welcome! This is the user documentation for Conan, an open source, decentralized C/C++ package resources: • Conan home page. Entry point to the project, with links to docs, blog, social, downloads, release mailing list, etc. • Github project and issue tracker. The main support channel, file issues here0 码力 | 769 页 | 4.70 MB | 1 年前3Conan 2.10 Documentation
Conan Documentation Release 2.10.1 The Conan team Dec 04, 2024 CONTENTS 1 Introduction 3 1.1 Open Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792 Index 793 iv Conan Documentation, Release 2.10.1 Welcome! This is the user documentation for Conan, an open source, decentralized C/C++ package resources: • Conan home page. Entry point to the project, with links to docs, blog, social, downloads, release mailing list, etc. • Github project and issue tracker. The main support channel, file issues here0 码力 | 803 页 | 5.02 MB | 10 月前3Conan 2.9 Documentation
Conan Documentation Release 2.9.3 The Conan team Dec 03, 2024 CONTENTS 1 Introduction 3 1.1 Open Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784 Index 785 iii iv Conan Documentation, Release 2.9.3 Welcome! This is the user documentation for Conan, an open source, decentralized C/C++ package resources: • Conan home page. Entry point to the project, with links to docs, blog, social, downloads, release mailing list, etc. • Github project and issue tracker. The main support channel, file issues here0 码力 | 795 页 | 4.99 MB | 10 月前3Conan 2.6 Documentation
Conan Documentation Release 2.6.0 The Conan team Dec 03, 2024 CONTENTS 1 Introduction 3 1.1 Open Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765 Index 767 iii iv Conan Documentation, Release 2.6.0 Welcome! This is the user documentation for Conan, an open source, decentralized C/C++ package resources: • Conan home page. Entry point to the project, with links to docs, blog, social, downloads, release mailing list, etc. • Github project and issue tracker. The main support channel, file issues here0 码力 | 777 页 | 4.91 MB | 10 月前3Conan 2.8 Documentation
Conan Documentation Release 2.8.1 The Conan team Dec 03, 2024 CONTENTS 1 Introduction 3 1.1 Open Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773 Index 775 iii iv Conan Documentation, Release 2.8.1 Welcome! This is the user documentation for Conan, an open source, decentralized C/C++ package resources: • Conan home page. Entry point to the project, with links to docs, blog, social, downloads, release mailing list, etc. • Github project and issue tracker. The main support channel, file issues here0 码力 | 785 页 | 4.95 MB | 10 月前3Conan 2.7 Documentation
Conan Documentation Release 2.7.1 The Conan team Dec 03, 2024 CONTENTS 1 Introduction 3 1.1 Open Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768 Index 769 iii iv Conan Documentation, Release 2.7.1 Welcome! This is the user documentation for Conan, an open source, decentralized C/C++ package resources: • Conan home page. Entry point to the project, with links to docs, blog, social, downloads, release mailing list, etc. • Github project and issue tracker. The main support channel, file issues here0 码力 | 779 页 | 4.93 MB | 10 月前3
共 161 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17