You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter 3代码基准测试实现方法及benchmark类获取指引

CodeIgniter 3 基准测试(Benchmark)类使用指南

一、类库的获取与加载

CodeIgniter 3的Benchmark类是框架核心集成类库,无需手动下载或添加,可直接通过两种方式调用:

  • 在控制器、模型、视图中,直接使用全局实例 $this->benchmark
  • 在非CI原生类文件中,通过 get_instance()->benchmark 获取类实例

二、检测代码段执行时间的具体实现

1. 标记代码段的起始与结束

在需要检测的代码前后分别添加自定义标记:

// 标记起始点,自定义唯一名称
$this->benchmark->mark('test_logic_start');

// --------------------------
// 这里是你要检测的目标代码段
for ($i = 0; $i < 10000; $i++) {
    // 模拟业务逻辑代码
}
// --------------------------

// 标记结束点,名称对应起始点(格式为[起始名]_end)
$this->benchmark->mark('test_logic_end');

2. 输出执行时间

标记完成后,通过以下方式获取并展示精确耗时:

// 在控制器中输出时间
echo $this->benchmark->elapsed_time('test_logic_start', 'test_logic_end');

// 或直接在视图中渲染(无需手动echo)
<?= $this->benchmark->elapsed_time('test_logic_start', 'test_logic_end') ?>

3. 全局请求耗时检测(额外实用功能)

如果需要查看整个请求从框架初始化到输出的总耗时,直接在视图中添加:

<?= $this->benchmark->elapsed_time() ?>

三、注意事项

  • 标记名称必须成对存在,结束标记可采用[起始标记]_end的命名规则,也可在elapsed_time方法中手动传入两个不同的标记名
  • 支持同时标记多段代码,只要标记名称不重复即可
  • 时间精度默认保留4位小数,可在application/config/config.php中修改$config['benchmark_precision']调整精度

内容的提问来源于stack exchange,提问作者Houssem Chr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 12:13:13