免费领取大会全套PPT    

点击领取

我要参会

课程简介

Introduction

C++, 作为一门多范式的通用编程语言,适用的领域非常广泛。要对 C++ 程序进行性能优化,牵涉到的方方面面也非常多。本课程就是以现代 C++ 程序为中心,讨论如何对 C++程序进行优化。课程中有跟语言强相关的内容,也有跟语言关系较少、但在实践中经常伴随C++ 程序出现的问题。

总课时20课时(每课时50分钟)

·周末班:共10天,每天2课时,每周六、日 晚20:00-21:40

·具体日期:2024年1月20日、21日、27日、28日;2月3日、4日、24日、25日;3月2日、3日

培训讲师

Instructor

吴咏炜

吴咏炜

Boolan首席咨询师

国内知名 C++专家,曾任英特尔亚太研发中心资深系统架构师,近 30 年 C/C++系统级软件开发和架构经验。专注于 C/C++ 语言(包括 C++98/C++11/14/17/20)、软件架构、性能优化、设计模式和代码重用。对于精炼、易于维护的代码和架构有着不懈的追求,对开源平台(GNU/Linux)有深入的理解。长期担任资深技术教练,涉及 C++、软件架构、安全软件开发、开源软件等多方面。

培训收获

Benefits

性能相关基本概念

C++程序性能测试

C++性能相关特性

C++程序性能调优

培训大纲

Syllabus

基本概念——计算机体系架构和性能

硬件:存储层次体系、处理器的乱序执行和流水线、并发(锁)

软件:系统调用开销、编译器优化、语言抽象性

基本概念——C++简介

为什么要使用 C++

如何学习 C++

内存管理和对象的生命周期:栈、堆、RAII、其他生命周期

测试方法——性能测试基础

性能测试中的问题

时间测量

编译器的干扰

处理器的干扰

防优化技巧

测试方法——性能测试方法

性能分析器

gprof 和 gperftools

两种性能测试方法

perf

火焰图

测试方法-性能分析和性能优化

C++ 基本构件分析

函数、虚函数和函数对象

string

栈上对象、堆上对象和移动语义

标准容器的性能:序列容器-vector、deque、list、forward_list

标准容器的性能:关联容器-map、multimap、set、multiset

标准容器的性能:无序关联容器-unordered_map、unordered_multimap、unordered_set、unordered_multiset

array

C++ 高级技巧和性能分析

模板:基本语法概念、泛型算法、内联和排序、二进制膨胀问题

智能指针:unique_ptr、shared_ptr

视图类型:string_view、span、ranges

编译期计算:利用模板参数进行计算、编译期类型推导、SFINAE、constexpr变量和 constexpr函数、if constexpr、变参模板

返回对象和异常:返回对象、返回值优化、异常的好处和开销

“替换”类型和错误处理:any、optional、variant、标准库的错误处理、outcome

并发:进程和线程、thread 和 future、mutex、内存模型、atomic、多线程优化、并发对接口的冲击、并行、异构计算

异步编程和协程:消息循环和异步编程初探、网络程序和异步编程、生成器、常见协程库

通用优化方法

工程和构建:编译选项、内联、PGO 和 LTO

反汇编:编译器、godbolt.org

循环优化:对象传递的方式

控制流优化:减少不必要的虚函数调用

内存优化:结构体、不要不必要地使用堆上内存、分配优化(内存池、缓存问题)

算术表达式优化

输入输出优化

算法优化

不写无必要的优化

开源软件:大教堂和小市集

结束语

适用人群

Audiences

开发工程师、高级工程师、软件主管、研发经理、架构师

培训地点

Venue

报名信息

Registration

团购票(5人及以上)

¥2560

原价¥ 3200

限时8.0折优惠至8月1日

· 在线直播课

立即购买

培训课

相关推荐

Recommendation

预约内训

Training

邀请 吴咏炜 到您的公司面对面授课!欢迎联系预约企业内训服务,我们将根据您的企业需求,量身定制专业个性化培训课程,邀请大师到企业现场授课。
培训预约:
Tel:400-821-5876
Email:service@boolan.com
扫描二维码
联系客服了解更多信息