Stopwatch component(码表组件)提供了种简单的和连续一致的方式来测量你代码中的特定部分的执行时间。相对于持续调用microtime() PHP函数,它要方便和强大得多。

就算你没有直接使用此组件,你已在除错工具条和分析器中来评估程序性能了。在Symfony3.4中,我们引入了两个新功能来令此组件更加有用。

添加了rest()方法

Contributed by
Jose Gonzalez
in #23285.

全新 reset() 方法让Stopwatch对象可以被重置到它原始的状态,删除全部当前已测量数据。这就令码表可以复用,并模拟一块实体码表的reset重置键。

添加了对微秒的支持

Contributed by
Javier Eguiluz
in #23223.

Stopwatch component supports time measures of any precision (microseconds, nanoseconds, etc.), but those measures are converted to integers, losing any sub-millisecond precision. That's why you usually see some 0 ms measures in the Symfony Profiler:

在Symfony 3.4中,Stopwatch的代表被更新了,停止把时间测量转换为整数,也就没有了精度损耗。为了保持向下兼容,这一新行为被默认关闭,你必须把 true 传入Stopwatch类的构造器来开启它。

Symfony Profiler默认使用此功能,因此之前的分析过程现在看上去是这样的 (0 ms 现在是 0.1 ms, 0.3 ms, 等等):