开始使用
Step 1: 安装 SDK
# or any package manager you are using, e.g. npm/pnpm
yarn add @perfsee/package -D
Step 2: 新建 Benchmark 文件 (可选)
在仓库目录下任意位置创建 test.bench.js
文件
const Benchmark = require('@perfsee/package')
Benchmark('foo', () => {
bar()
})
Benchmark('bar', [
{
test: () => {
baz()
},
options: { name: 'baz' },
},
{
test: async () => {
await setup()
return () => {
quz()
}
},
options: { name: 'quz with async setup' },
},
])
详细用法请参考 Benchmark API。
Step 3: 在 CI 环境分析 Package 并上传结果
在分析之前,必须先在 Perfsee 平台上创建项目,并在 Token Management 页面申请 API Token。
PERFSEE_TOKEN=<your-token> npx @perfsee/package <path-to-package> --project=<perfsee-project-id>
运行这个命令时,如果项目中有 xxx.{bench,benchmark}.{js,ts}
命名(默认配置可更改)的文件,则会将这些文件识别为 benchmarks 运行并将结果上传。
注意:只有在 CI 环境,结果才会上传至 Perfsee 平台。其他情况下会打开一个本地页面展示结果。
Cli Options
project
Perfsee 平台项目 id。
customImports
默认使用 package 主入口的所有 export 对象来计算体积。配置这个选项可以自定义哪些 export 对象用于计算体积。
minifier: 'esbuild'
| 'terser'
default: 'esbuild'
ESbuild 更快,但压缩后的文件更大。
target: 'browser'
| 'node'
default: 'node'
如果 target 为 browser
,benchmarks 文件会被打包在无头浏览器中运行,在 CI 环境中会上传至服务端运行。
benchmarkPattern
default: '*.{bench|benchmark}.{js|ts}'
Benchmarks 文件的 glob pattern。
benchmarkTimeout
Benchmark 运行超时时间。单位秒。
Step 4: View the report
当分析结束后上传完成后,我们会自动生成一个报告链接。这个链接会展示你的 package 的分析结果。详细信息请查看报告详解.