karelwintersky/arris.toolkit.measure

Measure toolkit for tests from Arris µFramework

0.99.1 2025-06-28 00:27 UTC

This package is auto-updated.

Last update: 2025-06-28 00:34:54 UTC


README

Measure test toolkit for tests

use Arris\Tookit\Measure;

// Simple measurement
$result = Measure::measure('strtoupper', ['test'], 'String uppercase');
echo Measure::formatResults($result);

// Benchmark with multiple iterations
$stats = Measure::measureMultiple('array_sum', [range(1, 10000)], 10);
echo "Average time: " . ($stats['average_time_ns'] / 1e6) . " ms\n";

// Using with class methods
$measurement = Measure::measure(function: [$object, 'method'], args: [$arg1, $arg2], name: 'Object method test');

// Make test and generate result
echo Measure::benchmark('strtoupper', ['test'], 'String uppercase');
// Получаем системную информацию
$systemInfo = Measure::getSystemInfo();
print_r($systemInfo);

// Создаем тестовые измерения
$measurements = [
    'DB Query' => ['time_ns' => 120000000],
    'Cache Read' => ['time_ns' => 45000000],
    'Processing' => ['time_ns' => 78000000],
];

// Выводим timeline
echo Measure::showTimeline($measurements);
use Arris\Tookit\Measure;

echo Measure::formatMemory(500);             // "500 bytes"
echo Measure::formatMemory(2048);            // "2 KB"
echo Measure::formatMemory(5242880);         // "5 MB"
echo Measure::formatMemory(1073741824);      // "1 GB"
echo Measure::formatMemory(1555555555, 3);   // "1.449 GB"