Zadig 产品使用手册赋能开发、员工成就感高 碎片化:手工协作 + 复杂工具链 工程化:一个平台 一键发布 工作流、环境配置自动更新、高 效调试、消除手工操作、精准快 速迭代、研发生产力 / 幸福感提 升 自助运行、系统化管理、自动化 程度高、测试有效性提升、质量 有保障、横向赋能、技能提升 随时调用工程基线提供的能力、 产品视角开发交付、团队高效协 同、稳定迭代 产研数字化过程数据透明、关键 指标易抽取、有能力合理调动资0 码力 | 52 页 | 22.95 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 03 现代 C++ 进阶:模板元编程counter++ 记录该函数被调用了多少次: lambda 表达式:传常引用避免拷贝开销 • 此外,最好把模板参数的 Func 声明为 Func const & 以避免不必要的拷贝: • 请爱思考的同学想想看,为什么 Func 的大小是 16 字节?提示:一个指针大 小为 8 字节,捕获了 2 个变量。 lambda 表达式:作为返回值 • 既然函数可以作为参数,当然也可以作为 返回值! 来捕获,他会捕 获 fac 的值而不是引用。 • [=] 会给每一个引用了的变量做一份拷贝 ,放在 Func 类型中。 • 不过他会造成对引用变量的拷贝,性能 可能会不如 [&] 。 • 爱思考:为什么这里 Func 为 4 字节 ? lambda 表达式:如何避免用模板参数 • 虽然这样可以让编译器对 每个不同的 lambda 生成一次,有助于优 化。 0 码力 | 82 页 | 12.15 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - Zeno 中的现代 C++ 最佳实践 dont-repeat-yourself ), 也让函数的作者不必去关注点从猫和狗的其他具体细节,只需把握住他们统一具有的“吃”这个接口。 小知识: shared_ptr 如何深拷贝? 浅拷贝: 深拷贝: 思考:能不能把拷贝构造函数也作为虚函数? • 现在我们的需求有变,不是去对同一个对象调用两次 eatTwice ,而是先把对象复制一份 拷贝,然后对对象本身和他的拷贝都调用一次 eatFood 虚函数。0 码力 | 54 页 | 3.94 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化,而固定长度的 array 可以存在栈上 那么刚才那个例子改成 array 是不是就可 以自动优化成功了?你可以自己试试看, 想一想,为什么会是这个结果,然后在作 业的 PR 描述中和老师分享你的思考 那改用 array 试试? 那改用手写的 reduce ? 那改小到 10 ?成功了! 结论:代码过于复杂,涉及的语句数量 过多时,编译器会放弃优化! 简单的代码,比什么优化手段都强。 constexpr0 码力 | 108 页 | 9.47 MB | 1 年前3
共 4 条
- 1













