Files
2026-06-01 13:03:20 +08:00
..
2026-06-01 13:03:20 +08:00
2026-06-01 13:03:20 +08:00

性能基准测试

这个目录包含使用 Criterion.rs 对 /api/run_code_with_log 端点进行性能测试的代码。

可用的基准测试

  1. run_code_bench - 基本性能测试测试三种语言JS、TS、Python的简单脚本执行性能
  2. run_code_advanced_bench - 高级性能测试,测试多种场景、不同复杂度的脚本和参数组合

如何运行测试

使用以下命令运行基本测试:

cargo bench --bench run_code_bench

使用以下命令运行高级测试:

cargo bench --bench run_code_advanced_bench

运行特定的测试场景:

cargo bench --bench run_code_advanced_bench -- js_basic

查看测试结果

测试结果将保存在 target/criterion 目录下,你可以在浏览器中打开 HTML 报告查看详细的结果:

open target/criterion/report/index.html

配置测试参数

在基准测试文件中可以修改以下参数,以适应不同性能的机器:

  • sample_size: 每个测试场景运行的样本数量默认为10
  • warm_up_time: 预热时间默认为20秒
  • measurement_time: 测量时间默认为10秒
  • significance_level: 统计显著性水平默认为0.05即5%

如果在较慢的机器上运行,可能需要进一步减少样本数或增加测量时间。可以通过命令行参数指定:

# 使用命令行参数减少样本数
cargo bench --bench run_code_bench -- --sample-size 5

# 使用命令行参数增加预热时间
cargo bench --bench run_code_bench -- --warm-up-time 30

# 使用命令行参数增加测量时间
cargo bench --bench run_code_bench -- --measurement-time 15

测试脚本说明

测试使用了 fixtures 目录下的各种测试脚本:

  • test_js.jstest_ts.tstest_python_simple.py - 基本语言测试脚本
  • test_js_params.jstest_ts_params.tstest_python_params.py - 带参数的测试脚本
  • import_lodash_example.jstest_python_logging.py - 复杂功能测试脚本