For AI agents: the complete documentation index is available at /next/zh/llms.txt, the full documentation bundle is available at /next/zh/llms-full.txt, and this page is available as Markdown at /next/zh/rspeedy/build-profiling.md.
Rspeedy logo
Rspeedy
  • 简体中文
  • 构建性能分析

    进行性能分析可以帮助你识别项目中的性能瓶颈,从而进行有针对性的优化。

    使用 Rsdoctor

    Rsdoctor 是一个构建分析工具,可以直观地显示每个 Loader 和 Plugin 的编译时间。

    请参阅使用 Rsdoctor 以获取更多信息。

    Node.js profiling

    当 Rspeedy 执行一次构建时,你可以使用 Node.js 的 profiling 来分析 JavaScript 执行,这有助于发现性能瓶颈。

    例如,进行 CPU profiling 分析,在项目根目录执行以下命令:

    #dev
    node --cpu-prof ./node_modules/@lynx-js/rspeedy/bin/rspeedy.js dev
    
    # build
    node --cpu-prof ./node_modules/@lynx-js/rspeedy/bin/rspeedy.js build

    以上命令执行后会生成一个 *.cpuprofile 文件,我们可以使用 speedscope 来可视化查看该文件:

    # 安装 speedscope
    npm install -g speedscope
    
    # 查看 cpuprofile 内容
    # 请将文件名替换为本地文件的名称
    speedscope CPU.date.000000.00000.0.001.cpuprofile

    Rspack profiling

    Rspeedy 支持使用 RSPACK_PROFILE 环境变量进行 Rspack 构建性能分析。

    # dev
    RSPACK_PROFILE=ALL rspeedy dev
    
    # build
    RSPACK_PROFILE=ALL rspeedy build

    此命令将在 dist 文件夹中生成 rspack-profile-${timestamp} 文件夹,其中包含 logging.jsontrace.jsonjscpuprofile.json 文件:

    • trace.json: 使用 tracing 记录 Rust 端每个阶段的时间消耗,可以通过 ui.perfetto.dev 查看
    • jscpuprofile.json: 使用 Node.js inspector 记录 JavaScript 端每个阶段的时间消耗,可以通过 speedscope.app 查看。
    • logging.json: 包含一些日志信息,粗略记录了构建每个阶段所花费的时间。(开发环境中尚不支持)

    有关 Rspack 构建性能分析使用的更多信息,请参阅 Rspack - Profiling

    除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。