王留帅
字节跳动研发工程师
在字节跳动负责C/C++编译工具链,同时负责静态/动态代码分析工具,覆盖率以及相关生态工具的研发与落地,LLVM committer。
演讲主题
字节跳动数据中心应用给C++编译工具链带来的机会和挑战
随着字节跳动C++业务的急剧膨胀,高级编译优化AutoFDO/ThinLTO,AddressSanitizer与覆盖率等生态工具的推进,对编译工具链挑战的挑战逐步凸显,严重影响着研发的迭代效率。为此对clang/llvm,protoc,address sanitizer与覆盖率模块进行深入分析和优化。 大纲: 1.大型服务对C++编译工具链带来哪些挑战 2.编译耗时分析与优化 a)protobuf compiler 优化编译耗时 b)ThinLTO/AutoFDO的编译耗时影响 c)AddressSanitizer 带来的编译耗时与解决 d)LLVM Pass 调优 3.大编译产物对编译工具链带来的挑战 a)split dwarf优化 b)编译插桩工具优化 c)无效依赖的识别与删除