已验证!异步 I/O 性能测试=Swoole Swow Revolt Event
·
wsl运行
php all-drivers-demo.php start
安装
composer require workerman/workerman
composer require revolt/event-loop
composer require swow/swow
composer require cclilshy/p-ripple-drive
sudo pecl install swoole
all-drivers-demo.php
<?php
/**
* 异步 I/O 性能测试 - 简化版
*/
require_once __DIR__ . "/vendor/autoload.php";
use Workerman\Worker;
use Workerman\Timer;
echo "\n";
echo "╔═══════════════════════════════════════════════════════════╗\n";
echo "║ 🚀 异步 I/O 性能测试 - 10万级并发 (简化版) ║\n";
echo "╚═══════════════════════════════════════════════════════════╝\n";
echo "\n";
// 检测当前驱动
// 完整的驱动检测
$driverName="Select";
//$driverName="Swoole";
//$driverName="Swow";
// $driverName = "👨💼 Revolt";
//$driverName = "💧 Event";
echo "🔧 当前驱动: {$driverName}\n";
echo "🎯 测试场景: 异步定时器 + 事件循环\n";
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n";
Worker::$daemonize = false;
Worker::$stdoutFile = "/dev/null";
$worker = new Worker();
$worker->count = 1;
// 测试场景
$testCases = [
["name" => "小规模", "count" => 10000],
["name" => "中规模", "count" => 50000],
["name" => "大规模", "count" => 100000],
];
$currentTestIndex = 0;
$results = [];
$worker->onWorkerStart = function() use (&$currentTestIndex, $testCases, &$results, $driverName) {
runNextTest($currentTestIndex, $testCases, $results, $driverName);
};
function runNextTest(&$currentTestIndex, $testCases, &$results, $driverName) {
if ($currentTestIndex >= count($testCases)) {
// 所有测试完成
echo "\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n";
echo "📊 测试汇总 - {$driverName}\n";
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n";
foreach ($results as $result) {
$avgLatency = round($result["totalTime"] / $result["count"] * 1000, 2);
echo "📌 {$result["name"]} (" . number_format($result["count"]) . "个): {$result["totalTime"]} ms, "
. number_format($result["opsPerSecond"]) . " ops/s, {$avgLatency} μs/op\n";
}
echo "\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n";
echo "✅ 所有测试完成!\n\n";
Worker::stopAll();
return;
}
$testCase = $testCases[$currentTestIndex];
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n";
echo "📋 测试: {$testCase["name"]} - {$testCase["count"]}个定时器\n";
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n";
echo "🔄 启动事件循环...\n";
echo "⚡ 创建 " . number_format($testCase["count"]) . " 个异步定时器...\n\n";
$timerCount = $testCase["count"];
$completedTimers = 0;
$startTime = microtime(true);
$lastProgress = 0;
for ($i = 0; $i < $timerCount; $i++) {
Timer::add(0.001, function() use (&$completedTimers, &$startTime, $timerCount, &$lastProgress, &$currentTestIndex, $testCases, &$results, $driverName, $testCase) {
$completedTimers++;
$result = sqrt($completedTimers) * sin($completedTimers / 1000.0);
$percent = (int)(($completedTimers / $timerCount) * 100);
if ($percent > $lastProgress && $percent % 10 == 0) {
$lastProgress = $percent;
$bar = str_repeat("█", (int)($percent / 2)) . str_repeat("░", 50 - (int)($percent / 2));
echo "\r⚡ 进度: [$bar] $percent% (" . number_format($completedTimers) . "/" . number_format($timerCount) . ")";
flush();
}
if ($completedTimers >= $timerCount) {
$endTime = microtime(true);
$totalTime = round(($endTime - $startTime) * 1000, 2);
$opsPerSecond = round($timerCount / ($endTime - $startTime), 0);
echo "\r⚡ 进度: [" . str_repeat("█", 50) . "] 100% (" . number_format($timerCount) . "/" . number_format($timerCount) . ")\n";
$results[] = [
"name" => $testCase["name"],
"count" => $timerCount,
"totalTime" => $totalTime,
"opsPerSecond" => $opsPerSecond
];
echo "\n✅ 完成!\n";
echo " ├─ 定时器数量: " . number_format($timerCount) . "\n";
echo " ├─ 总耗时: {$totalTime} ms\n";
echo " ├─ 吞吐量: " . number_format($opsPerSecond) . " ops/s\n";
echo " └─ 平均延迟: " . round($totalTime / $timerCount * 1000, 2) . " μs/op\n\n";
$currentTestIndex++;
runNextTest($currentTestIndex, $testCases, $results, $driverName);
}
}, [], false);
}
// 超时处理
Timer::add(30, function() use ($testCase, &$currentTestIndex, $testCases, &$results, $driverName) {
echo "\n❌ 测试超时\n\n";
$currentTestIndex++;
runNextTest($currentTestIndex, $testCases, $results, $driverName);
}, [], false);
}
Worker::runAll();
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 小规模 - 10000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 10,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (10,000/10,000)
✅ 完成!
├─ 定时器数量: 10,000
├─ 总耗时: 34.04 ms
├─ 吞吐量: 293,764 ops/s
└─ 平均延迟: 3.4 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 中规模 - 50000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 50,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (50,000/50,000)
✅ 完成!
├─ 定时器数量: 50,000
├─ 总耗时: 149.25 ms
├─ 吞吐量: 335,017 ops/s
└─ 平均延迟: 2.99 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 大规模 - 100000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 100,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (100,000/100,000)
✅ 完成!
├─ 定时器数量: 100,000
├─ 总耗时: 261.99 ms
├─ 吞吐量: 381,692 ops/s
└─ 平均延迟: 2.62 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 测试汇总 - Select
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 小规模 (10,000个): 34.04 ms, 293,764 ops/s, 3.4 μs/op
📌 中规模 (50,000个): 149.25 ms, 335,017 ops/s, 2.99 μs/op
📌 大规模 (100,000个): 261.99 ms, 381,692 ops/s, 2.62 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 所有测试完成!
测试: 小规模 - 10000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 10,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (10,000/10,000)
✅ 完成!
├─ 定时器数量: 10,000
├─ 总耗时: 30.78 ms
├─ 吞吐量: 324,931 ops/s
└─ 平均延迟: 3.08 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 中规模 - 50000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 50,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (50,000/50,000)
✅ 完成!
├─ 定时器数量: 50,000
├─ 总耗时: 142.98 ms
├─ 吞吐量: 349,704 ops/s
└─ 平均延迟: 2.86 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 大规模 - 100000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 100,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (100,000/100,000)
✅ 完成!
├─ 定时器数量: 100,000
├─ 总耗时: 297.36 ms
├─ 吞吐量: 336,296 ops/s
└─ 平均延迟: 2.97 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 测试汇总 - Swoole
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 小规模 (10,000个): 30.78 ms, 324,931 ops/s, 3.08 μs/op
📌 中规模 (50,000个): 142.98 ms, 349,704 ops/s, 2.86 μs/op
📌 大规模 (100,000个): 297.36 ms, 336,296 ops/s, 2.97 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 所有测试完成!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 小规模 - 10000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 10,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (10,000/10,000)
✅ 完成!
├─ 定时器数量: 10,000
├─ 总耗时: 38.91 ms
├─ 吞吐量: 257,031 ops/s
└─ 平均延迟: 3.89 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 中规模 - 50000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 50,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (50,000/50,000)
✅ 完成!
├─ 定时器数量: 50,000
├─ 总耗时: 148.58 ms
├─ 吞吐量: 336,512 ops/s
└─ 平均延迟: 2.97 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 大规模 - 100000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 100,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (100,000/100,000)
✅ 完成!
├─ 定时器数量: 100,000
├─ 总耗时: 277.45 ms
├─ 吞吐量: 360,428 ops/s
└─ 平均延迟: 2.77 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 测试汇总 - Swow
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 小规模 (10,000个): 38.91 ms, 257,031 ops/s, 3.89 μs/op
📌 中规模 (50,000个): 148.58 ms, 336,512 ops/s, 2.97 μs/op
📌 大规模 (100,000个): 277.45 ms, 360,428 ops/s, 2.77 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 所有测试完成!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 小规模 - 10000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 10,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (10,000/10,000)
✅ 完成!
├─ 定时器数量: 10,000
├─ 总耗时: 31.99 ms
├─ 吞吐量: 312,646 ops/s
└─ 平均延迟: 3.2 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 中规模 - 50000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 50,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (50,000/50,000)
✅ 完成!
├─ 定时器数量: 50,000
├─ 总耗时: 146.94 ms
├─ 吞吐量: 340,266 ops/s
└─ 平均延迟: 2.94 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 大规模 - 100000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 100,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (100,000/100,000)
✅ 完成!
├─ 定时器数量: 100,000
├─ 总耗时: 270.19 ms
├─ 吞吐量: 370,107 ops/s
└─ 平均延迟: 2.7 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 测试汇总 - 👨💼 Revolt
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 小规模 (10,000个): 31.99 ms, 312,646 ops/s, 3.2 μs/op
📌 中规模 (50,000个): 146.94 ms, 340,266 ops/s, 2.94 μs/op
📌 大规模 (100,000个): 270.19 ms, 370,107 ops/s, 2.7 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 所有测试完成!
```php
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 小规模 - 10000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 10,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (10,000/10,000)
✅ 完成!
├─ 定时器数量: 10,000
├─ 总耗时: 34.06 ms
├─ 吞吐量: 293,573 ops/s
└─ 平均延迟: 3.41 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 中规模 - 50000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 50,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (50,000/50,000)
✅ 完成!
├─ 定时器数量: 50,000
├─ 总耗时: 149.75 ms
├─ 吞吐量: 333,900 ops/s
└─ 平均延迟: 2.99 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试: 大规模 - 100000个定时器
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 启动事件循环...
⚡ 创建 100,000 个异步定时器...
⚡ 进度: [█████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 1⚡ 进度: [██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 2⚡ 进度: [███████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 3⚡ 进度: [████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 4⚡ 进度: [█████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░] 5⚡ 进度: [██████████████████████████████░░░░░░░░░░░░░░░░░░░░] 6⚡ 进度: [███████████████████████████████████░░░░░░░░░░░░░░░] 7⚡ 进度: [████████████████████████████████████████░░░░░░░░░░] 8⚡ 进度: [█████████████████████████████████████████████░░░░░] 9⚡ 进度: [██████████████████████████████████████████████████] 1⚡ 进度: [██████████████████████████████████████████████████] 100% (100,000/100,000)
✅ 完成!
├─ 定时器数量: 100,000
├─ 总耗时: 286.97 ms
├─ 吞吐量: 348,472 ops/s
└─ 平均延迟: 2.87 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 测试汇总 - event
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 小规模 (10,000个): 34.06 ms, 293,573 ops/s, 3.41 μs/op
📌 中规模 (50,000个): 149.75 ms, 333,900 ops/s, 2.99 μs/op
📌 大规模 (100,000个): 286.97 ms, 348,472 ops/s, 2.87 μs/op
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 所有测试完成!
更多推荐
所有评论(0)