3v4l.org

run code in 300+ PHP versions simultaneously
<?php $content = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html><head> <title>Apache Status</title> </head><body> <h1>Apache Server Status for localhost (via 127.0.0.1)</h1> <dl><dt>Server Version: Apache/2.4.63 (Win64) OpenSSL/3.4.0</dt> <dt>Server MPM: WinNT</dt> <dt>Apache Lounge VS17 Server built: Jan 22 2025 09:55:33 </dt></dl><hr /><dl> <dt>Current Time: Tuesday, 15-Apr-2025 22:55:26 Áåëàðóñü (çèìà)</dt> <dt>Restart Time: Tuesday, 15-Apr-2025 22:17:31 Áåëàðóñü (çèìà)</dt> <dt>Parent Server Config. Generation: 1</dt> <dt>Parent Server MPM Generation: 0</dt> <dt>Server uptime: 37 minutes 54 seconds</dt> <dt>Server load: -1.00 -1.00 -1.00</dt> <dt>Total accesses: 336 - Total Traffic: 1.1 MB - Total Duration: 519</dt> <dt>.148 requests/sec - 522 B/second - 3535 B/request - 1.54464 ms/request</dt> <dt>1 requests currently being processed, 0 workers gracefully restarting, 127 idle workers</dt> </dl><pre>________________________________________________________________ _______________________________________________________________W </pre> <p>Scoreboard Key:<br /> "<b><code>_</code></b>" Waiting for Connection, "<b><code>S</code></b>" Starting up, "<b><code>R</code></b>" Reading Request,<br /> "<b><code>W</code></b>" Sending Reply, "<b><code>K</code></b>" Keepalive (read), "<b><code>D</code></b>" DNS Lookup,<br /> "<b><code>C</code></b>" Closing connection, "<b><code>L</code></b>" Logging, "<b><code>G</code></b>" Gracefully finishing,<br /> "<b><code>I</code></b>" Idle cleanup of worker, "<b><code>.</code></b>" Open slot with no current process<br /> </p> <table border="0"><tr><th>Srv</th><th>PID</th><th>Acc</th><th>M</th><th>SS</th><th>Req</th><th>Dur</th><th>Conn</th><th>Child</th><th>Slot</th><th>Client</th><th>Protocol</th><th>VHost</th><th>Request</th></tr> <tr><td><b>0-0</b></td><td>10576</td><td>128/336/336</td><td><b>W</b> </td><td>0</td><td>0</td><td>519</td><td>446.4</td><td>1.13</td><td>1.13 </td><td>127.0.0.1</td><td>http/1.1</td><td nowrap>default:80</td><td nowrap>GET /openserver/server-status HTTP/1.1</td></tr> </table> <hr /> <table> <tr><th>Srv</th><td>Child Server number - generation</td></tr> <tr><th>PID</th><td>OS process ID</td></tr> <tr><th>Acc</th><td>Number of accesses this connection / this child / this slot</td></tr> <tr><th>M</th><td>Mode of operation</td></tr> <tr><th>SS</th><td>Seconds since beginning of most recent request</td></tr> <tr><th>Req</th><td>Milliseconds required to process most recent request</td></tr> <tr><th>Dur</th><td>Sum of milliseconds required to process all requests</td></tr> <tr><th>Conn</th><td>Kilobytes transferred this connection</td></tr> <tr><th>Child</th><td>Megabytes transferred this child</td></tr> <tr><th>Slot</th><td>Total megabytes transferred this slot</td></tr> </table> <hr> <table cellspacing=0 cellpadding=0> <tr><td bgcolor="#000000"> <b><font color="#ffffff" face="Arial,Helvetica">SSL/TLS Session Cache Status:</font></b> </td></tr> <tr><td bgcolor="#ffffff"> cache type: <b>SHMCB</b>, shared memory: <b>524288</b> bytes, current entries: <b>0</b><br>subcaches: <b>32</b>, indexes per subcache: <b>91</b><br>index usage: <b>0%</b>, cache usage: <b>0%</b><br>total entries stored since starting: <b>0</b><br>total entries replaced since starting: <b>0</b><br>total entries expired since starting: <b>0</b><br>total (pre-expiry) entries scrolled out of the cache: <b>0</b><br>total retrieves since starting: <b>0</b> hit, <b>0</b> miss<br>total removes since starting: <b>0</b> hit, <b>0</b> miss<br></td></tr> </table> </body></html> '; // Total Traffic: 1.1 MB if (preg_match('/Total Traffic: ([0-9.]+)\s+([a-zA-Z])?+/', $content, $matches)) { print_r($matches); }

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.4.70.0100.01119.77
8.4.60.0420.00817.63
8.4.50.0370.01017.62
8.4.40.0420.00817.33
8.4.30.0420.01317.55
8.4.20.0350.00917.83
8.4.10.0200.00517.71
8.3.210.0130.00516.94
8.3.200.0150.00516.69
8.3.190.0190.00216.44
8.3.180.0090.00616.54
8.3.170.0170.00216.14
8.3.160.0110.00516.27
8.3.150.0120.00516.11
8.3.140.0130.00416.47
8.3.130.0110.00416.59
8.3.120.0090.00416.41
8.3.110.0110.00316.08
8.3.100.0120.00616.16
8.3.90.0120.00716.30
8.3.80.0120.00616.30
8.3.70.0140.00316.57
8.3.60.0150.00516.21
8.3.50.0130.00516.14
8.3.40.0150.00217.29
8.3.30.0100.00517.53
8.3.20.0080.00717.36
8.3.10.0180.00617.62
8.3.00.0120.01017.68
8.2.280.0160.00516.41
8.2.270.0100.00616.41
8.2.260.0120.00516.69
8.2.250.0130.00716.45
8.2.240.0130.00416.23
8.2.230.0160.00716.22
8.2.220.0140.00516.51
8.2.210.0130.00516.14
8.2.200.0170.00616.48
8.2.190.0130.00616.12
8.2.180.0130.00416.31
8.2.170.0120.00517.36
8.2.160.0130.00817.37
8.2.150.0120.00417.55
8.2.140.0240.00917.26
8.2.130.0180.00917.47
8.2.120.0200.00317.64
8.2.110.0140.00917.60
8.2.100.0160.00517.61
8.2.90.0110.00617.43
8.2.80.0160.00317.18
8.2.70.0180.00717.55
8.2.60.0110.00717.38
8.2.50.0100.00517.19
8.2.40.0160.00617.66
8.2.30.0190.00417.15
8.2.20.0130.00417.17
8.2.10.0100.01017.38
8.2.00.0140.00417.38

preferences:
31.71 ms | 403 KiB | 5 Q