ConcurrencyConditionsCppCon 2023 57 David Olsen - Back to Basics: Concurrency DATA RACE ? auto assets = list_all_assets(); auto liabilities = list_all_liabilities(); currency_t net_worth; currency_t durable_goods; currency_t long_term_debts; std::thread goods_thread{[&durable_goods, &assets](){ durable_goods = calculate_durable_goods(assets); }}; std::thread debts_thread{[&long_term_debts, &liabilities](){ long_term_debts = calculate_long_term_debts(liabilities); }}; net_worth = calculate_net_worth(assets, liabilities); goods_thread.join(); debts_thread.join(); create_report(net_worth, durable_goods0 码力 | 160 页 | 2.91 MB | 6 月前3
Making Games Start Fast: A Story About Concurrencygame rules & databases 14Start Enumeration Read Localization Load Audio Load 2D Assets Load 3D Assets Load Game Databases CPU: 5.6s Wait: 1.2s CPU: 8.2s Wait: 1.4s CPU: 7.3s Wait: 0.8s 7 (Old) Startup Profile 15Start Enumeration Read Localization Load Audio Load 2D Assets Load 3D Assets Load Game Databases CPU: 0.5s Wait: 0.6s CPU: 0.9s Wait: 1.4s CPU: 4.5s Wait: 0.2s PhysFS? 29 /assets C:\game\assets dlc01 .zip modXY .zip PHYSFS_mount("/assets", "C:\game\assets", 1); PHYSFS_mount("/assets", "C:\game\dlcs\dlc001.zip", 1); PHYSFS_mount("/assets", "C:\user\mod\modXY0 码力 | 76 页 | 2.22 MB | 6 月前3
Back to Basics: Debugging Techniquesprogram (or the system) to observe the reported symptoms • Developing new / updating existing test assets to demonstrate the failure • Pro tip: Make sure you're looking at the correct source code! • Characterizing Techniques Copyright © 2021 Bob Steagall Understand the Problem • Inspect and verify the associated test assets • The test case(s) or harness(es) may be broken • If appropriate, test data should demonstrate incremental, bottom-up development • Add functionality in small sections of code • Create test assets for each new increment of functionality • Verify that new code doesn't cause previous test cases0 码力 | 44 页 | 470.68 KB | 6 月前3
10 Problems Large Companies Have with Managing C++ Dependencies and How to Solve Thembinary cache 3. Version using baselines 4. Build open-source with a package manager 5. Cache build assets internally 6. Monitor, prevent, and respond to vulnerabilities 7. Centralize common tasks 8. Produce be a network outageProblem 5: Organization restricts access to online downloads Solution 5: Cache assets needed for builds •Companies must maintain their own internally-controlled copies of any software everything you need once outside of your “controlled” environment. • Verify that all downloaded assets are valid and compliant with your org’s rules. • Move cache to shared location accessible to all0 码力 | 46 页 | 917.72 KB | 6 月前3
Peering Forward: C++'s Next Decadein progressSoftware security (or “cybersecurity” or similar) making software able to protect its assets from a malicious attacker examples: securing power grids, hospitals, banks, personal data, secrets progress72 Software security (or “cybersecurity” or similar) making software able to protect its assets from a malicious attacker examples: securing power grids, hospitals, banks, personal data, secrets0 码力 | 84 页 | 6.21 MB | 6 月前3
Conan 1.27 Documentationfor packaging applications and copying the resulting executables to your bin folder, or for copying assets, images, sounds, test static files, etc. Conan is a generic solution for package management, not directory where the choosen template file is located. It is needed if your output file needs to link assets distributed together with the template file. • search: it contains the pattern used in the command directory where the choosen template file is located. It is needed if your output file needs to link assets distributed together with the template file (see HTML example linking CSS and JS files). • graph:0 码力 | 681 页 | 5.55 MB | 1 年前3
Conan 1.28 Documentationfor packaging applications and copying the resulting executables to your bin folder, or for copying assets, images, sounds, test static files, etc. Conan is a generic solution for package management, not directory where the chosen template file is located. It is needed if your output file needs to link assets distributed together with the template file. • search: it contains the pattern used in the command directory where the choosen template file is located. It is needed if your output file needs to link assets distributed together with the template file (see HTML example linking CSS and JS files). • graph:0 码力 | 699 页 | 5.39 MB | 1 年前3
Conan 1.29 Documentationfor packaging applications and copying the resulting executables to your bin folder, or for copying assets, images, sounds, test static files, etc. Conan is a generic solution for package management, not directory where the chosen template file is located. It is needed if your output file needs to link assets distributed together with the template file. • search: it contains the pattern used in the command directory where the choosen template file is located. It is needed if your output file needs to link assets distributed together with the template file (see HTML example linking CSS and JS files). • graph:0 码力 | 703 页 | 5.41 MB | 1 年前3
Conan 1.30 Documentationfor packaging applications and copying the resulting executables to your bin folder, or for copying assets, images, sounds, test static files, etc. Conan is a generic solution for package management, not directory where the chosen template file is located. It is needed if your output file needs to link assets distributed together with the template file. • search: it contains the pattern used in the command directory where the choosen template file is located. It is needed if your output file needs to link assets distributed together with the template file (see HTML example linking CSS and JS files). • graph:0 码力 | 715 页 | 5.39 MB | 1 年前3
Conan 1.31 Documentationfor packaging applications and copying the resulting executables to your bin folder, or for copying assets, images, sounds, test static files, etc. Conan is a generic solution for package management, not directory where the chosen template file is located. It is needed if your output file needs to link assets distributed together with the template file. • search: it contains the pattern used in the command directory where the choosen template file is located. It is needed if your output file needs to link assets distributed together with the template file (see HTML example linking CSS and JS files). • graph:0 码力 | 721 页 | 5.41 MB | 1 年前3
共 80 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













