从分钟到秒:抖音如何通过动态库优化实现高效构建 |QCon 北京

  • 2025-04-07
    北京
  • 本文字数:1309 字

    阅读完需:约 4 分钟

2025 年 4 月 10 - 12 日,QCon 全球软件开发大会将汇聚全球 140+ 技术先行者及创新实践者,直击行业痛点,解锁可复制的经验与模式。这不仅是一场会议,更是一次对技术演进的集体探索。无论你是资深开发者,还是技术管理者,都能在这里有所收获,为下一步的技术决策提供方向。

字节跳动软件工程师张星宇已确认出席并发表题为《从分钟到秒:抖音如何通过动态库优化实现高效构建》的主题分享。日常开发中的任何一次改动,都需要经历编译、产物传输到真机、调试启动等步骤才能看到最终效果。抖音作为一个超大规模的 App,往往需要两三分钟后才能看到运行效果。且正随着工程复杂度的增加而持续劣化中,严重影响了研发效率。

本次演讲首先会分析主要的耗时步骤,可能的度量方式与优化思路。其次会简单对比业内其它优化方案(比如 Preview、Mergable Library、Injection 等)的优缺点。最后会深度介绍抖音为何选择利用动态库的特性,结合对研发流程和构建工具链的改造,对构建用时进行大幅优化,并且保持在与工程复杂度无关的常数级别,完成彻底的治理。

张星宇 2018 年加入字节跳动,持续专注于客户端研发效能方向。曾主导公司内组件发布、Pipeline 编排、移动端 DevOps 平台从零到一的建设。目前负责编译构建、索引调试等客户端研发效率和体验的优化工作。他在本次会议的详细演讲内容如下:

演讲提纲

1. 项目背景

  • 增量构建各阶段主要耗时瓶颈分析和度量方式

  • 业内常见的优化方案介绍,各自优缺点分析

2. 核心实现流程

  • 基于动态库方案的优势及挑战

  • 链接器的工作模型和动态库常见的符号问题

  • 构建流程与链接器配合调整,保障产物正确性

  • 常见的不兼容动态库的场景,以及适配方案

3. 落地收益与未来规划

  • 在抖音的实际落地效果与收益

  • 渐进式迭代思路

您认为,这样的技术在实践过程中有哪些痛点?

  • 部分特殊的业务代码如果没有考虑过动态库场景,有一定的适配成本

  • 部分改动需要对构建步骤有一定的调整,需要结合构建系统(比如 Bazel)的支持才能达到完全无侵入的体验

  • 工程规模越大,方案收益越大。对于中小型业务来说收益就不一定足够明显

演讲亮点

  • 利用动态库的方式完成秒级链接和构建耗时的大幅降低

  • 基于对构建工具链的改动保障任意多个组件可以转换为动态库

  • 通过将线性复杂度降维成常数复杂度,对关键耗时步骤进行根本性的优化治理

听众收益

  • 对构建各个环节的主要耗时点、度量方式、可能的优化思路有整体的了解

  • 对动态库的原理和优点有更深入的理解

  • 对链接器的工作原理有更深入的理解

除此之外,本次大会还策划了多模态大模型及应用AI 驱动的工程生产力面向 AI 的研发基础设施不被 AI 取代的工程师大模型赋能 AIOps云成本优化Lakehouse 架构演进越挫越勇的大前端等专题,届时将有来自不同行业、不同领域、不同企业的 100+资深专家在 QCon 北京现场带来前沿技术洞察和一线实践经验。

目前,所有大会演讲嘉宾已结集完毕,了解更多报名和详情信息可扫码或联系票务经理 18514549229 咨询。

为确保大会顺利举行,现诚邀志愿者加入,时长 3.5 天。可与大咖交流、获极客时间 VIP 月卡、大会演讲视频资源和证书。主办方提供午餐和交通支持。时间:4 月 9 日 13:00-4 月 12 日 18:00,地点:北京万达嘉华酒店,报名链接:https://www.infoq.cn/form/?id=2088