3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Parser { private $chunkSize; private $buffer = ''; private $callback; public function __construct($chunkSize) { $this->chunkSize = $chunkSize; } public function onChunk($callback) { $this->callback = $callback; } public function parse($data) { $this->buffer .= $data; while (strlen($data) >= $this->chunkSize) { var_dump($this->buffer); $chunk = (string)substr($this->buffer, 0, $this->chunkSize); $this->buffer = (string)substr($this->buffer, $this->chunkSize); call_user_func($this->callback, $chunk); } } } $p = new Parser(43); $p->onChunk(function($data) { echo "Got chunk of data: {$data}\n"; }); $p->parse('The quick brown fox jumps over the lazy dogThe quick brown fox'); $p->parse(' jum'); $p->parse('ps'); $p->parse(' over the lazy dogThe quick brown fox jumps '); $p->parse('over the lazy dog');

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.3.60.0210.00018.32
8.3.50.0280.01221.95
8.3.40.0130.00618.70
8.3.30.0270.01519.12
8.3.20.0110.00020.35
8.3.10.0140.00722.02
8.3.00.0200.00022.46
8.2.180.0100.01616.75
8.2.170.0220.01522.96
8.2.160.0370.00720.89
8.2.150.0030.00724.18
8.2.140.0120.00824.66
8.2.130.0190.00026.16
8.2.120.0180.00419.36
8.2.110.0110.00422.11
8.2.100.0160.00017.84
8.2.90.0110.00419.17
8.2.80.0040.00918.03
8.2.70.0040.00917.63
8.2.60.0130.00018.04
8.2.50.0040.00718.07
8.2.40.0080.00418.22
8.2.30.0030.00718.28
8.2.20.0000.01217.88
8.2.10.0050.00919.60
8.2.00.0100.00317.83
8.1.280.0420.00025.92
8.1.270.0060.00623.96
8.1.260.0110.00726.35
8.1.250.0140.00728.09
8.1.240.0250.00323.79
8.1.230.0240.00019.17
8.1.220.0060.00317.76
8.1.210.0090.00418.77
8.1.200.0070.00717.38
8.1.190.0000.01517.51
8.1.180.0060.00618.10
8.1.170.0070.01018.59
8.1.160.0070.00722.02
8.1.150.0030.00618.73
8.1.140.0070.00717.54
8.1.130.0060.00317.88
8.1.120.0060.00617.46
8.1.110.0000.01317.54
8.1.100.0070.00517.45
8.1.90.0120.00017.44
8.1.80.0090.00317.57
8.1.70.0060.00617.50
8.1.60.0070.00717.66
8.1.50.0080.00417.62
8.1.40.0060.00617.57
8.1.30.0060.00917.64
8.1.20.0040.00817.70
8.1.10.0080.00417.69
8.1.00.0060.00317.60
8.0.300.0090.00318.77
8.0.290.0080.00416.93
8.0.280.0000.01318.28
8.0.270.0040.00817.27
8.0.260.0100.00316.79
8.0.250.0030.00916.95
8.0.240.0040.00816.79
8.0.230.0040.00816.81
8.0.220.0080.00416.71
8.0.210.0060.00616.75
8.0.200.0080.00516.75
8.0.190.0000.01116.79
8.0.180.0150.00016.86
8.0.170.0060.01016.86
8.0.160.0150.00016.73
8.0.150.0090.00616.70
8.0.140.0090.00016.86
8.0.130.0050.01013.34
8.0.120.0000.00916.83
8.0.110.0040.00816.70
8.0.100.0090.00316.67
8.0.90.0130.00016.70
8.0.80.0150.02216.82
8.0.70.0080.00416.85
8.0.60.0050.00516.69
8.0.50.0070.00316.69
8.0.30.0570.03016.93
8.0.20.0280.01917.40
8.0.10.0080.00416.79
8.0.00.0370.02116.66
7.4.330.0080.00515.05
7.4.320.0030.01016.42
7.4.300.0040.00416.51
7.4.290.0120.00316.41
7.4.280.0120.00016.30
7.4.270.0080.00816.53
7.4.260.0040.00916.48
7.4.250.0060.00316.30
7.4.240.0070.00616.42
7.4.230.0040.00816.30
7.4.220.0090.02016.45
7.4.210.0190.02116.47
7.4.200.0060.00316.39
7.4.190.0060.00616.55
7.4.160.0260.02216.54
7.4.150.0180.01517.40
7.4.140.0390.02217.86
7.4.130.0480.02816.42
7.4.120.0420.01716.54
7.4.110.1160.02616.60
7.4.100.0200.01716.48
7.4.90.0570.01916.45
7.4.80.0980.02919.39
7.4.70.0370.02516.43
7.4.60.0150.01216.66
7.4.50.0130.00916.34
7.4.40.0280.01622.77
7.4.30.0170.02316.46
7.4.00.0140.01414.58
7.3.330.0040.00813.34
7.3.320.0040.00413.45
7.3.310.0100.00516.24
7.3.300.0100.00316.22
7.3.290.0210.02416.33
7.3.280.0180.02516.30
7.3.270.0220.03017.40
7.3.260.0440.02616.54
7.3.250.0510.02216.50
7.3.240.0320.02016.51
7.3.230.0370.02816.59
7.3.210.0500.01616.43
7.3.200.0530.04319.39
7.3.190.0280.02516.38
7.3.180.0500.01816.53
7.3.170.0280.04916.27
7.3.160.0800.02616.30
7.3.120.0140.00615.06
7.2.330.0360.03616.44
7.2.320.0170.03716.54
7.2.310.0420.01116.77
7.2.300.0850.05816.57
7.2.290.0830.04516.80
7.2.60.0160.00616.73
7.2.00.0060.00919.55
7.1.200.0110.00315.50
7.1.100.0800.01016.17
7.1.70.0130.00616.91
7.1.60.0090.00619.82
7.1.50.0060.01017.24
7.0.200.0080.00816.73

preferences:
32.34 ms | 401 KiB | 5 Q