C++性能优化高端培训

C++性能优化高端培训
共10节 347人在学 课程详情
  • 计算机体系架构和性能

    • 硬件、软件及C++简介、内存管理和对象的生存期
  • C++ 基本构件分析

    • 函数、虚函数和函数对象、string l栈上对象、堆上对象和移动语义
    • 标准容器的性能
  • 测试方法

    • 性能测试基础
  • C++ 高级技巧和性能分析

    • 模板、智能指针、视图类型
    • 编译期计算、返回对象和异常
    • “替换”类型和错误处理
    • 并发与异步编程和协程
  • 通用优化方法

    • 工程和构建&反汇编&循环优化&控制流优化&内存优化
    • 算术表达式优化&不写无必要的优化&开源软件

    订阅失败

    C++性能优化高端培训
    C++性能优化高端培训 ...

    订阅列表已满,请先移出部分订阅内容。

    当前章节需购买后观看
    开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
    提交答案

    购买课程

    扫码完成付费,可继续学习全部课程内容

    加载中...
    播放页问题反馈
    视频学习中有任何产品建议都可由此反
    馈,我们将及时处理!

    课时介绍

    模板、智能指针、视图类型-C++ 高级技巧和性能分析C++性能优化高端培训

    课程介绍

    讲师介绍

    吴咏炜

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

    课程介绍

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

    票务信息

    购课链接: https://boolan.com/project/enroll/146

    课程大纲

    基本概念

    一、计算机体系架构和性能

    1.硬件

    1)存储层次体系

    2)处理器的乱序执行和流水线

    3)并发

    • 锁

    2.软件

    1)系统调用开销

    2)语言抽象性

    二、C++ 简介

    1)为什么要使用 C++

    2)如何学习 C++

    3)内存管理和对象的生命周期

    • 栈
    • 堆
    • RAII

    其他生命周期

    测试方法

    一、性能测试基础

    1)性能测试中的问题

    • 时间测量
    • 编译器的干扰
    • 处理器的干扰
    • 防优化技巧

    二、性能测试方法

    1)性能分析器

    2)gprof 和 gperftools

    3)两种性能测试方法

    4)perf

    5)火焰图

    三、性能分析和性能优化

    C++ 基本构件分析

    一、函数、虚函数和函数对象

    二、String

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

    四、标准容器的性能

    1)序列容器

    • vector
    • deque
    • list
    • forward_list

    2)关联容器

    • map
    • multimap
    • set
    • multiset

    3)无序关联容器

    • unordered_map
    • unordered_multimap
    • unordered_set
    • unordered_multiset

    五、array

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

    一、模板

    1)基本语法概念

    2)泛型算法

    3)内联和排序

    4)二进制膨胀问题

    二、智能指针

    1)unique_ptr

    2)shared_ptr

    三、视图类型

    1)string_view

    2)span

    3)ranges

    四、编译期计算

    1)利用模板参数进行计算

    2)编译期类型推导

    3)SFINAE

    4) constexpr 变量和 constexpr 函数

    5)if constexpr

    6)变参模板

    五、返回对象和异常

    1)返回对象

    2)返回值优化

    3)异常的好处和开销

    六、“替换”类型和错误处理

    1)any

    2)optional

    3)variant

    4)标准库的错误处理

    5)Outcome

    七、并发

    1)进程和线程

    2)thread 和 future

    3)mutex

    4)内存模型

    5)atomic

    6)多线程优化

    • mutex 和 atomic
    • thread_local

    7)并发对接口的冲击

    8)并行

    9)异构计算

    八、异步编程和协程

    1)消息循环和异步编程初探

    2)网络程序和异步编程

    3)生成器

    4)常见协程库

    通用优化方法

    一、工程和构建

    1)编译选项

    2)内联

    3)PGO 和 LTO

    二、反汇编

    1)编译器

    2)godbolt.org

    三、循环优化

    1)对象传递的方式

    四、控制流优化

    1)减少不必要的虚函数调用

    五、内存优化

    1)结构体

    • 对齐问题

    2)不要不必要地使用堆上内存

    3)分配优化

    • 内存池①对象内存池②STL 容器内存池
    • 缓存问题

    六、算术表达式优化

    七、输入输出优化

    八、算法优化

    案例:定时器

    九、不写无必要的优化

    十、开源软件

    1)大教堂和小市集

    十一、结束语

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    推荐课程

    信息系统项目管理师自考笔记

    李明 · 838人在学

    python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

    王先生 · 22519人在学

    手把手搭建Java超市管理系统【附源码】(毕设)

    汤小洋 · 4268人在学

    Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

    黄菊华 · 818人在学

    基于SSM酒店管理系统(毕设)

    小尼老师 · 879人在学

    java项目实战之购物商城(java毕业设计)

    Long · 5189人在学

    手把手搭建Java求职招聘系统【附源码】(毕设)

    汤小洋 · 1522人在学

    Python Django 深度学习 小程序

    钟翔 · 2378人在学

    城管局门前三包管理系统+微信小程序(vue+springboot)

    赖国荣 · 648人在学

    Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

    李杰 · 4054人在学

    正在试验
    后自动删除环境
    课程实验
    本次实验时间已到期 00:00:00
    课件正在飞速打包中,请耐心等待几秒钟~