hhpack / 性能
Hack 的性能工具库
1.3.0
2018-10-13 07:12 UTC
Requires
- hhvm: >=3.21.0
- hhvm/hhvm-autoload: ^1.5
Requires (Dev)
- facebook/fbexpect: ^2.1
- hhvm/hacktest: ^1.1
README
基本用法
您可以测量简单处理的时间。
use HHPack\Performance\PerformanceWatcher; use HHPack\Performance\TimeWatcher; use HHPack\Performance\MemoryWatcher; use HHPack\Performance\Result\WatchedResult; $watcher = PerformanceWatcher::fromItems([ Pair { 'time', new TimeWatcher() }, Pair { 'memory', new MemoryWatcher() } ]); $watcher->start(); $watcher->stop(); $texts = $watcher->result()->mapWithKey(($key, $result) ==> { return sprintf("%s: %s", $key, (string) $result->value()); })->values(); foreach ($texts as $text) { echo $text, PHP_EOL; }
基准测试
use HHPack\Performance as bench; function sync_benchmarker() : void { bench\sync()->times(10)->run(() ==> { usleep(2000); }); } sync_benchmarker();
或者
use HHPack\Performance as bench; async function async_benchmarker_main() : Awaitable<void> { await bench\async()->times(10)->run(async () ==> { await \HH\Asio\usleep(2000); }); } \HH\Asio\join(async_benchmarker_main());
运行测试
您可以使用以下命令运行测试。
composer install
composer test