addTimer($t, function () use ($loop) { $loop->stop(); }); } $loop->addPeriodicTimer(0.001, function () use (&$runs, $loop) { $runs++; $loop->addPeriodicTimer(1, function (TimerInterface $timer) use ($loop) { $loop->cancelTimer($timer); }); }); $loop->addPeriodicTimer($r, function () use (&$runs) { $kmem = round(memory_get_usage() / 1024); $kmemReal = round(memory_get_usage(true) / 1024); echo "Runs:\t\t\t$runs\n"; echo "Memory (internal):\t$kmem KiB\n"; echo "Memory (real):\t\t$kmemReal KiB\n"; echo str_repeat('-', 50), "\n"; }); echo "PHP Version:\t\t", phpversion(), "\n"; echo "Loop\t\t\t", get_class($loop), "\n"; echo "Time\t\t\t", date('r'), "\n"; echo str_repeat('-', 50), "\n"; $beginTime = time(); $loop->run(); $endTime = time(); $timeTaken = $endTime - $beginTime; echo "PHP Version:\t\t", phpversion(), "\n"; echo "Loop\t\t\t", get_class($loop), "\n"; echo "Time\t\t\t", date('r'), "\n"; echo "Time taken\t\t", $timeTaken, " seconds\n"; echo "Runs per second\t\t", round($runs / $timeTaken), "\n";