谢茂培
金山办公研发中台事业部office产研架构师
任金山办公研发中台事业部架构师,2001-2005年曾任金山词霸、金山游侠开发工程师、WPS系统架构组WPP开发组组长,在软件设计软件工程管理上具有多年实践经验。曾任基塔科技联合创始人CTC、极简桌面联合创始人CTO,曾参与开发听书网、CCIPTV等
演讲主题
超大规模C++项目构建优化
金山办公由上千个项目组成,代码量多达数千万行,产品兼容6大平台(Windows、Mac、Android、iOS、Linux、web),4个指令集(x86、ARM、MIPS、LoongArch)。如此规模的C++项目在典型配置的电脑上,单次构建耗时长达数小时,这会极大制约研发效率、推高研发成本,因此对构建过程进行优化就显得尤为重要。构建过程有哪些性能瓶颈?又有哪些优化手段?带着这些问题,将在此与大家进行分享和探讨。 一、为什么需要构建优化 1.项目规模与时俱进,构建时间越来越长 (1)单机构建chrome:> 2.5小时 (2)单机构建WPS:> 4小时 2.构建优化的直接收益 (1)快速开发和测试,提升研发效率 (2)降低构建环境硬件成本 (3)持续构建,快速交付 二、影响构建性能的重要因素 1.代码编写方式 2.项目模块设计 3.硬件资源:CPU,内存,磁盘,网络 4.工具链 三、构建优化 1.构建优化手段一:代码层面优化 2.构建优化手段二:提高构建并行度 3.构建优化手段三:充分利用CPU算力 4.构建优化手段四:分布式构建 5.构建优化手段五:更多的优化方法