3v4l.org

run code in 300+ PHP versions simultaneously
<?php /*{ "_id" : ObjectId("595baefce2810a6a8a94fe2d"), "user" : "1234abc", "type" : "session-started", "name" : "moja o sesja", "reference_id" : "hippo-123", "created_on" : ISODate("2017-01-01T01:01:01.123Z") }*/ class A { private static $_id = 0x10a6a8a94fe2d; private $user; private $type; private $reference_id; private $created_on; public function __construct($user, $type, $reference_id, $created_on) { $this->user = $user; $this->type = $type; $this->reference_id = $reference_id; $this->created_on = $created_on; } public function __toString() { return sprintf('{ "_id": ObjectId("595baefce28%x"), "user": "%s", "type": "%s", "name": "my %s", "reference_id": "%s%s", "created_on": ISODate("%s.000Z") }', ++self::$_id, $this->user, $this->type, $this->type, $this->user, $this->reference_id ? 'hippo-' . $this->reference_id : '', $this->created_on ); } } $history = [ new A('u1', 'onboarded', '', '2017-01-01T01:01:01'), new A('u1', 'category_activated', 11, '2017-01-01T01:02:01'), new A('u1', 'category_started', 11, '2017-01-01T01:03:01'), new A('u1', 'series_started', 21, '2017-01-01T01:04:01'), new A('u1', 'session_started', 31, '2017-01-01T01:05:01'), new A('u1', 'session_progress_updated', 31, '2017-01-01T01:06:01'), new A('u1', 'session_completed', 31, '2017-01-01T01:07:01'), new A('u1', 'session_started', 32, '2017-01-01T01:08:01'), new A('u1', 'session_completed', 32, '2017-01-01T01:09:01'), // seesion completed (2/2) new A('u1', 'session_started', 33, '2017-01-02T01:10:01'), new A('u1', 'session_completed', 33, '2017-01-02T01:11:01'), // session completed (1/1) new A('u1', 'session_started', 34, '2017-01-03T01:12:01'), // session started (0/1) new A('u1', 'session_completed', 34, '2017-01-04T01:13:01'), // session completed (1/1) new A('u1', 'session_started', 35, '2017-01-05T01:14:01'), new A('u1', 'session_progress_updated', 35, '2017-01-05T01:15:01'), new A('u1', 'session_completed', 35, '2017-01-05T01:16:01'), new A('u1', 'session_started', 36, '2017-01-05T01:17:01'), // session started (1/2) new A('u1', 'session_skipped', 36, '2017-01-06T01:18:01'), // session skipped (0/1) new A('u1', 'session_started', 37, '2017-01-07T01:19:01'), new A('u1', 'session_completed', 37, '2017-01-07T01:20:01'), // session completed (1/1) //new A('u1', 'session_started', 34, '2017-01-09T01:21:01'), // day skipped new A('u1', 'session_started', 38, '2017-01-09T01:21:01'), new A('u1', 'session_completed', 38, '2017-01-09T01:21:01'), ]; echo implode(','$history);

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)
7.1.70.0000.01416.88
7.1.60.0210.01035.17
7.1.50.0170.01334.64
7.1.40.0180.01234.32
7.1.30.0190.01034.35
7.1.20.0220.01034.23
7.1.10.0000.01416.45
7.1.00.0120.00816.63
7.0.200.0030.01216.64
7.0.190.0060.00916.68
7.0.180.0040.01116.00
7.0.170.0070.00716.25
7.0.160.0060.00916.01
7.0.150.0060.00816.13
7.0.140.0030.01016.23
7.0.130.0030.01016.25
7.0.120.0090.00616.29
7.0.110.0040.01116.08
7.0.100.0070.00716.21
7.0.90.0100.00316.20
7.0.80.0030.01116.19
7.0.70.0080.00616.31
7.0.60.0320.01615.75
7.0.50.0420.00316.38
7.0.40.0360.00716.29
7.0.30.0030.01116.50
7.0.20.0040.01116.36
7.0.10.0000.01414.53
7.0.00.0340.00814.48

preferences:
142.39 ms | 1394 KiB | 7 Q