3v4l.org

run code in 300+ PHP versions simultaneously
<?php class EmptySetter { public function __set($name, $value) {} } class NonEmptySetter { public function __set($name, $value) { $this->{$name} = $value; } } function benchmark($obj) { $start_time = microtime(TRUE); for ($i = 0; $i < 10000000; $i++) { $obj->foo = 42; } return microtime(TRUE) - $start_time; } printf("EmptySetter: %.2f seconds\n", benchmark(new EmptySetter)); printf("NonEmptySetter: %.2f seconds\n", benchmark(new NonEmptySetter));
Output for 7.4.0
EmptySetter: 0.74 seconds NonEmptySetter: 0.18 seconds
Output for 7.3.12
EmptySetter: 1.11 seconds NonEmptySetter: 0.24 seconds
Output for 7.3.10 - 7.3.11
EmptySetter: 0.63 seconds NonEmptySetter: 0.21 seconds
Output for 7.3.9
EmptySetter: 1.02 seconds NonEmptySetter: 0.25 seconds
Output for 7.3.8
EmptySetter: 0.97 seconds NonEmptySetter: 0.21 seconds
Output for 7.3.7
EmptySetter: 1.03 seconds NonEmptySetter: 0.23 seconds
Output for 7.3.6
EmptySetter: 1.08 seconds NonEmptySetter: 0.21 seconds
Output for 7.3.5
EmptySetter: 1.13 seconds NonEmptySetter: 0.25 seconds
Output for 7.3.4
EmptySetter: 1.13 seconds NonEmptySetter: 0.20 seconds
Output for 7.3.3
EmptySetter: 1.14 seconds NonEmptySetter: 0.24 seconds
Output for 7.3.2
EmptySetter: 0.64 seconds NonEmptySetter: 0.22 seconds
Output for 7.3.1
EmptySetter: 1.06 seconds NonEmptySetter: 0.25 seconds
Output for 7.3.0
EmptySetter: 0.89 seconds NonEmptySetter: 0.23 seconds
Output for 7.2.25
EmptySetter: 1.47 seconds NonEmptySetter: 0.24 seconds
Output for 7.2.24
EmptySetter: 1.15 seconds NonEmptySetter: 0.19 seconds
Output for 7.2.23
EmptySetter: 1.17 seconds NonEmptySetter: 0.20 seconds
Output for 7.2.22
EmptySetter: 1.02 seconds NonEmptySetter: 0.26 seconds
Output for 7.2.21
EmptySetter: 1.07 seconds NonEmptySetter: 0.20 seconds
Output for 7.2.20
EmptySetter: 1.33 seconds NonEmptySetter: 0.19 seconds
Output for 7.2.17, 7.2.19
EmptySetter: 0.85 seconds NonEmptySetter: 0.21 seconds
Output for 7.2.18
EmptySetter: 1.10 seconds NonEmptySetter: 0.25 seconds
Output for 7.2.16
EmptySetter: 0.76 seconds NonEmptySetter: 0.22 seconds
Output for 7.2.15
EmptySetter: 1.43 seconds NonEmptySetter: 0.27 seconds
Output for 7.2.14
EmptySetter: 1.48 seconds NonEmptySetter: 0.22 seconds
Output for 7.2.13
EmptySetter: 1.34 seconds NonEmptySetter: 0.27 seconds
Output for 7.2.12
EmptySetter: 1.37 seconds NonEmptySetter: 0.25 seconds
Output for 7.2.11
EmptySetter: 0.91 seconds NonEmptySetter: 0.19 seconds
Output for 7.2.10
EmptySetter: 1.37 seconds NonEmptySetter: 0.22 seconds
Output for 7.2.9
EmptySetter: 1.38 seconds NonEmptySetter: 0.26 seconds
Output for 7.2.8
EmptySetter: 0.81 seconds NonEmptySetter: 0.23 seconds
Output for 7.2.7
EmptySetter: 1.43 seconds NonEmptySetter: 0.29 seconds
Output for 7.2.6
EmptySetter: 1.46 seconds NonEmptySetter: 0.26 seconds
Output for 7.2.5
EmptySetter: 0.73 seconds NonEmptySetter: 0.21 seconds
Output for 7.2.4
EmptySetter: 1.40 seconds NonEmptySetter: 0.26 seconds
Output for 7.2.3
EmptySetter: 1.53 seconds NonEmptySetter: 0.23 seconds
Output for 7.2.2
EmptySetter: 1.49 seconds NonEmptySetter: 0.29 seconds
Output for 7.2.1
EmptySetter: 1.47 seconds NonEmptySetter: 0.26 seconds
Output for 7.2.0
EmptySetter: 0.83 seconds NonEmptySetter: 0.20 seconds
Output for 7.1.33
EmptySetter: 1.77 seconds NonEmptySetter: 0.44 seconds
Output for 7.1.32
EmptySetter: 1.72 seconds NonEmptySetter: 0.41 seconds
Output for 7.1.31
EmptySetter: 1.37 seconds NonEmptySetter: 0.48 seconds
Output for 7.1.30
EmptySetter: 1.84 seconds NonEmptySetter: 0.56 seconds
Output for 7.1.29
EmptySetter: 1.37 seconds NonEmptySetter: 0.56 seconds
Output for 7.1.28
EmptySetter: 1.85 seconds NonEmptySetter: 0.42 seconds
Output for 7.1.27
EmptySetter: 1.61 seconds NonEmptySetter: 0.55 seconds
Output for 7.1.26
EmptySetter: 1.29 seconds NonEmptySetter: 0.50 seconds
Output for 7.1.25
EmptySetter: 1.36 seconds NonEmptySetter: 0.46 seconds
Output for 7.1.24
EmptySetter: 1.59 seconds NonEmptySetter: 0.44 seconds
Output for 7.1.23
EmptySetter: 1.66 seconds NonEmptySetter: 0.59 seconds
Output for 7.1.22
EmptySetter: 1.83 seconds NonEmptySetter: 0.55 seconds
Output for 7.1.21
EmptySetter: 1.73 seconds NonEmptySetter: 0.44 seconds
Output for 7.1.20
EmptySetter: 1.47 seconds NonEmptySetter: 0.56 seconds
Output for 7.1.19
EmptySetter: 1.63 seconds NonEmptySetter: 0.55 seconds
Output for 7.1.11, 7.1.18
EmptySetter: 1.74 seconds NonEmptySetter: 0.56 seconds
Output for 7.1.17
EmptySetter: 1.73 seconds NonEmptySetter: 0.48 seconds
Output for 7.1.16
EmptySetter: 1.86 seconds NonEmptySetter: 0.55 seconds
Output for 7.1.15
EmptySetter: 1.72 seconds NonEmptySetter: 0.52 seconds
Output for 7.1.14
EmptySetter: 1.46 seconds NonEmptySetter: 0.51 seconds
Output for 7.1.13
EmptySetter: 1.70 seconds NonEmptySetter: 0.52 seconds
Output for 7.1.12
EmptySetter: 1.91 seconds NonEmptySetter: 0.49 seconds
Output for 7.1.10
EmptySetter: 1.83 seconds NonEmptySetter: 0.43 seconds
Output for 7.1.9
EmptySetter: 1.19 seconds NonEmptySetter: 0.45 seconds
Output for 7.1.8
EmptySetter: 1.61 seconds NonEmptySetter: 0.59 seconds
Output for 7.1.7
EmptySetter: 1.37 seconds NonEmptySetter: 0.42 seconds
Output for 7.1.6
EmptySetter: 1.76 seconds NonEmptySetter: 0.56 seconds
Output for 7.1.5
EmptySetter: 1.85 seconds NonEmptySetter: 0.51 seconds
Output for 7.1.4
EmptySetter: 1.59 seconds NonEmptySetter: 0.45 seconds
Output for 7.1.3
EmptySetter: 1.44 seconds NonEmptySetter: 0.51 seconds
Output for 7.1.2
EmptySetter: 1.71 seconds NonEmptySetter: 0.41 seconds
Output for 7.1.1
EmptySetter: 1.44 seconds NonEmptySetter: 0.44 seconds
Output for 7.1.0
EmptySetter: 1.32 seconds NonEmptySetter: 0.46 seconds
Output for 7.0.33
EmptySetter: 2.11 seconds
Process exited with code 137.
Output for 7.0.12, 7.0.32
EmptySetter: 2.28 seconds
Process exited with code 137.
Output for 7.0.31
EmptySetter: 2.24 seconds
Process exited with code 137.
Output for 7.0.30
EmptySetter: 1.52 seconds NonEmptySetter: 0.46 seconds
Output for 7.0.29
EmptySetter: 1.85 seconds NonEmptySetter: 0.47 seconds
Output for 7.0.28
EmptySetter: 1.47 seconds NonEmptySetter: 0.46 seconds
Output for 7.0.27
EmptySetter: 1.72 seconds NonEmptySetter: 0.47 seconds
Output for 7.0.26
EmptySetter: 1.76 seconds NonEmptySetter: 0.46 seconds
Output for 7.0.25
EmptySetter: 1.76 seconds NonEmptySetter: 0.59 seconds
Output for 7.0.11, 7.0.24
EmptySetter: 2.03 seconds
Process exited with code 137.
Output for 7.0.23
EmptySetter: 2.21 seconds
Process exited with code 137.
Output for 7.0.22
EmptySetter: 1.81 seconds NonEmptySetter: 0.47 seconds
Output for 7.0.21
EmptySetter: 2.42 seconds
Process exited with code 137.
Output for 7.0.20
EmptySetter: 1.98 seconds NonEmptySetter: 0.48 seconds
Output for 7.0.19
EmptySetter: 2.41 seconds
Process exited with code 137.
Output for 7.0.18
EmptySetter: 2.49 seconds
Process exited with code 137.
Output for 7.0.17
EmptySetter: 1.82 seconds NonEmptySetter: 0.59 seconds
Output for 7.0.16
EmptySetter: 2.04 seconds
Process exited with code 137.
Output for 7.0.15
EmptySetter: 2.40 seconds
Process exited with code 137.
Output for 7.0.14
EmptySetter: 2.36 seconds
Process exited with code 137.
Output for 7.0.13
EmptySetter: 1.64 seconds NonEmptySetter: 0.62 seconds
Output for 7.0.10
EmptySetter: 1.95 seconds
Process exited with code 137.
Output for 7.0.9
EmptySetter: 2.26 seconds
Process exited with code 137.
Output for 7.0.8
EmptySetter: 2.30 seconds
Process exited with code 137.
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0, 7.0.2, 7.0.4, 7.0.7

Process exited with code 137.
Output for 7.0.6
EmptySetter: 1.81 seconds NonEmptySetter: 0.48 seconds
Output for 7.0.5
EmptySetter: 1.60 seconds NonEmptySetter: 0.45 seconds
Output for 7.0.3
EmptySetter: 1.93 seconds
Process exited with code 137.
Output for 7.0.1
EmptySetter: 2.44 seconds
Process exited with code 137.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/V4GYr on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/V4GYr on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/V4GYr on line 3
Process exited with code 255.

preferences:
194.03 ms | 401 KiB | 322 Q