@ 2024-01-09T10:30:52Z <?php
class IndexRange
{
/** @var 0|positive-int */
public int $start;
/** @var 0|positive-int */
public int $end;
/**
* @param 0|positive-int $start
* @param 0|positive-int $end
*/
public function __construct(int $start = null, int $end = null)
{
if (null !== $start) {
$this->start = $start;
}
if (null !== $end) {
$this->end = $end;
}
}
}
function acceptOne($a) {};
function acceptTwo($a, $b) {};
$t = microtime(true);
for ($i = 0; $i < 100_000; $i++) {
$start = $i;
$end = $i;
acceptTwo($start, $end);
}
echo '2 vars: ' . round((microtime(true) - $t) * 1000, 2) . " ms\n";
$t = microtime(true);
for ($i = 0; $i < 100_000; $i++) {
$rangeArr = [$i, $i];
acceptOne($rangeArr);
}
echo 'range arr: ' . round((microtime(true) - $t) * 1000, 2) . " ms\n";
$t = microtime(true);
for ($i = 0; $i < 100_000; $i++) {
$rangeObj = new IndexRange($i, $i);
acceptOne($rangeObj);
}
echo 'range obj: ' . round((microtime(true) - $t) * 1000, 2) . " ms\n";
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 8.3.1 2 vars: 3.53 ms
range arr: 9.07 ms
range obj: 14.71 ms
Output for 8.3.0 2 vars: 3.31 ms
range arr: 8.72 ms
range obj: 14.22 ms
Output for 8.2.14 2 vars: 1.39 ms
range arr: 3.58 ms
range obj: 7.39 ms
Output for 8.2.13 2 vars: 3.31 ms
range arr: 9.16 ms
range obj: 18.17 ms
Output for 8.2.12 2 vars: 2.66 ms
range arr: 7 ms
range obj: 14.09 ms
Output for 8.2.11 2 vars: 2.94 ms
range arr: 6.79 ms
range obj: 14.38 ms
Output for 8.2.10 2 vars: 3.93 ms
range arr: 9.43 ms
range obj: 19.72 ms
Output for 8.2.9 2 vars: 2.78 ms
range arr: 6.99 ms
range obj: 14.14 ms
Output for 8.2.8 2 vars: 2.81 ms
range arr: 6.77 ms
range obj: 13.5 ms
Output for 8.2.7 2 vars: 3.41 ms
range arr: 5.06 ms
range obj: 9.72 ms
Output for 8.2.6 2 vars: 1.82 ms
range arr: 3.57 ms
range obj: 10.03 ms
Output for 8.2.5 2 vars: 2.21 ms
range arr: 5.51 ms
range obj: 11.21 ms
Output for 8.2.4 2 vars: 1.37 ms
range arr: 3.66 ms
range obj: 7.03 ms
Output for 8.2.3 2 vars: 1.37 ms
range arr: 3.5 ms
range obj: 7.01 ms
Output for 8.2.2 2 vars: 1.33 ms
range arr: 3.53 ms
range obj: 7.13 ms
Output for 8.2.1 2 vars: 1.41 ms
range arr: 3.51 ms
range obj: 7.18 ms
Output for 8.2.0 2 vars: 1.33 ms
range arr: 3.58 ms
range obj: 7.1 ms
Output for 8.1.27 2 vars: 1.35 ms
range arr: 3.63 ms
range obj: 7.52 ms
Output for 8.1.26 2 vars: 1.37 ms
range arr: 3.5 ms
range obj: 7.1 ms
Output for 8.1.25 2 vars: 3.43 ms
range arr: 8.82 ms
range obj: 13.85 ms
Output for 8.1.24 2 vars: 1.34 ms
range arr: 3.57 ms
range obj: 7.36 ms
Output for 8.1.23 2 vars: 1.41 ms
range arr: 3.53 ms
range obj: 7.08 ms
Output for 8.1.22 2 vars: 1.33 ms
range arr: 3.59 ms
range obj: 7.01 ms
Output for 8.1.21 2 vars: 2.66 ms
range arr: 6.84 ms
range obj: 7.28 ms
Output for 8.1.20 2 vars: 1.42 ms
range arr: 3.49 ms
range obj: 7.79 ms
Output for 8.1.19 2 vars: 3.53 ms
range arr: 8.8 ms
range obj: 17.38 ms
Output for 8.1.18 2 vars: 1.34 ms
range arr: 3.53 ms
range obj: 7.09 ms
Output for 8.1.17 2 vars: 3.37 ms
range arr: 7.34 ms
range obj: 8.04 ms
Output for 8.1.16 2 vars: 1.4 ms
range arr: 3.59 ms
range obj: 7.09 ms
Output for 8.1.15 2 vars: 1.31 ms
range arr: 3.55 ms
range obj: 7 ms
Output for 8.1.14 2 vars: 1.36 ms
range arr: 3.63 ms
range obj: 7.05 ms
Output for 8.1.13 2 vars: 3.49 ms
range arr: 9.27 ms
range obj: 13.26 ms
Output for 8.1.12 2 vars: 1.35 ms
range arr: 3.54 ms
range obj: 7.14 ms
Output for 8.1.11 2 vars: 3.36 ms
range arr: 8.97 ms
range obj: 15.97 ms
Output for 8.1.10 2 vars: 1.34 ms
range arr: 3.6 ms
range obj: 7.09 ms
Output for 8.1.9 2 vars: 2.68 ms
range arr: 7.46 ms
range obj: 15.08 ms
Output for 8.1.8 2 vars: 2.72 ms
range arr: 7.03 ms
range obj: 12.64 ms
Output for 8.1.7 2 vars: 1.38 ms
range arr: 3.52 ms
range obj: 7.07 ms
Output for 8.1.6 2 vars: 3.32 ms
range arr: 9.75 ms
range obj: 15.37 ms
Output for 8.1.5 2 vars: 1.32 ms
range arr: 3.5 ms
range obj: 7.18 ms
Output for 8.1.4 2 vars: 3.57 ms
range arr: 9.12 ms
range obj: 13.1 ms
Output for 8.1.3 2 vars: 2.77 ms
range arr: 7.16 ms
range obj: 7.91 ms
Output for 8.1.2 2 vars: 1.42 ms
range arr: 3.59 ms
range obj: 13.81 ms
Output for 8.1.1 2 vars: 3.68 ms
range arr: 8.26 ms
range obj: 12.05 ms
Output for 8.1.0 2 vars: 3.34 ms
range arr: 8.69 ms
range obj: 16.74 ms
Output for 8.0.30 2 vars: 2.64 ms
range arr: 7.14 ms
range obj: 13.92 ms
Output for 8.0.29 2 vars: 2.33 ms
range arr: 3.48 ms
range obj: 7.81 ms
Output for 8.0.28 2 vars: 2.32 ms
range arr: 3.61 ms
range obj: 7.22 ms
Output for 8.0.27 2 vars: 1.42 ms
range arr: 3.53 ms
range obj: 7.29 ms
Output for 8.0.26 2 vars: 5.99 ms
range arr: 8.63 ms
range obj: 10.51 ms
Output for 8.0.25 2 vars: 3.35 ms
range arr: 9.21 ms
range obj: 17.78 ms
Output for 8.0.24 2 vars: 4.17 ms
range arr: 7.06 ms
range obj: 10.61 ms
Output for 8.0.23 2 vars: 1.37 ms
range arr: 3.49 ms
range obj: 7.06 ms
Output for 8.0.22 2 vars: 1.59 ms
range arr: 3.68 ms
range obj: 7.46 ms
Output for 8.0.21 2 vars: 3.98 ms
range arr: 5.54 ms
range obj: 11.23 ms
Output for 8.0.20 2 vars: 1.37 ms
range arr: 5.07 ms
range obj: 9.18 ms
Output for 8.0.19 2 vars: 1.36 ms
range arr: 5.06 ms
range obj: 7.31 ms
Output for 8.0.18 2 vars: 1.37 ms
range arr: 3.62 ms
range obj: 7.12 ms
Output for 8.0.17 2 vars: 1.41 ms
range arr: 3.51 ms
range obj: 7.08 ms
Output for 8.0.16 2 vars: 1.29 ms
range arr: 3.68 ms
range obj: 7.37 ms
Output for 8.0.15 2 vars: 1.33 ms
range arr: 3.57 ms
range obj: 7.13 ms
Output for 8.0.14 2 vars: 1.46 ms
range arr: 3.49 ms
range obj: 7.2 ms
Output for 8.0.13 2 vars: 1.4 ms
range arr: 3.7 ms
range obj: 7.26 ms
Output for 8.0.12 2 vars: 1.53 ms
range arr: 3.55 ms
range obj: 7.25 ms
Output for 8.0.11 2 vars: 1.39 ms
range arr: 3.53 ms
range obj: 7.14 ms
Output for 8.0.10 2 vars: 1.4 ms
range arr: 3.46 ms
range obj: 7.14 ms
Output for 8.0.9 2 vars: 2.15 ms
range arr: 3.6 ms
range obj: 7.28 ms
Output for 8.0.8 2 vars: 1.37 ms
range arr: 4.05 ms
range obj: 7.04 ms
Output for 8.0.7 2 vars: 1.36 ms
range arr: 3.62 ms
range obj: 7.15 ms
Output for 8.0.6 2 vars: 1.32 ms
range arr: 3.58 ms
range obj: 8.16 ms
Output for 8.0.5 2 vars: 1.35 ms
range arr: 3.51 ms
range obj: 8.05 ms
Output for 8.0.3 2 vars: 1.27 ms
range arr: 3.54 ms
range obj: 7.17 ms
Output for 8.0.2 2 vars: 1.24 ms
range arr: 3.56 ms
range obj: 7.18 ms
Output for 8.0.1 2 vars: 2.17 ms
range arr: 3.71 ms
range obj: 7.18 ms
Output for 8.0.0 2 vars: 1.31 ms
range arr: 3.61 ms
range obj: 7.26 ms
Output for 7.4.33 2 vars: 1.53 ms
range arr: 3.48 ms
range obj: 7.67 ms
Output for 7.4.32 2 vars: 3.1 ms
range arr: 7.19 ms
range obj: 9.24 ms
Output for 7.4.30 2 vars: 1.53 ms
range arr: 3.51 ms
range obj: 7.68 ms
Output for 7.4.29 2 vars: 1.75 ms
range arr: 3.59 ms
range obj: 7.57 ms
Output for 7.4.28 2 vars: 1.54 ms
range arr: 3.72 ms
range obj: 8.35 ms
Output for 7.4.27 2 vars: 1.55 ms
range arr: 3.65 ms
range obj: 8.26 ms
Output for 7.4.26 2 vars: 1.47 ms
range arr: 3.67 ms
range obj: 8.49 ms
Output for 7.4.25 2 vars: 2.51 ms
range arr: 3.6 ms
range obj: 9.5 ms
Output for 7.4.24 2 vars: 1.6 ms
range arr: 3.57 ms
range obj: 8.09 ms
Output for 7.4.23 2 vars: 1.62 ms
range arr: 3.54 ms
range obj: 7.66 ms
Output for 7.4.22 2 vars: 1.61 ms
range arr: 3.58 ms
range obj: 7.71 ms
Output for 7.4.21 2 vars: 1.53 ms
range arr: 3.55 ms
range obj: 7.66 ms
Output for 7.4.20 2 vars: 1.48 ms
range arr: 3.78 ms
range obj: 7.87 ms
Output for 7.4.19 2 vars: 1.48 ms
range arr: 3.63 ms
range obj: 7.95 ms
Output for 7.4.18 2 vars: 1.51 ms
range arr: 3.6 ms
range obj: 7.58 ms
Output for 7.4.16 2 vars: 1.5 ms
range arr: 3.79 ms
range obj: 7.72 ms
Output for 7.4.15 2 vars: 3.12 ms
range arr: 7.59 ms
range obj: 8.03 ms
Output for 7.4.14 2 vars: 1.43 ms
range arr: 3.62 ms
range obj: 8.64 ms
Output for 7.4.13 2 vars: 1.56 ms
range arr: 3.73 ms
range obj: 7.62 ms
Output for 7.4.12 2 vars: 1.43 ms
range arr: 3.73 ms
range obj: 7.66 ms
Output for 7.4.11 2 vars: 1.51 ms
range arr: 3.61 ms
range obj: 7.58 ms
Output for 7.4.10 2 vars: 1.43 ms
range arr: 3.7 ms
range obj: 8.4 ms
Output for 7.4.9 2 vars: 1.45 ms
range arr: 3.72 ms
range obj: 7.86 ms
Output for 7.4.8 2 vars: 2.96 ms
range arr: 7.53 ms
range obj: 13.01 ms
Output for 7.4.7 2 vars: 1.53 ms
range arr: 3.68 ms
range obj: 10.51 ms
Output for 7.4.6 2 vars: 1.61 ms
range arr: 5.6 ms
range obj: 12.2 ms
Output for 7.4.5 2 vars: 1.53 ms
range arr: 3.74 ms
range obj: 7.55 ms
Output for 7.4.4 2 vars: 1.52 ms
range arr: 3.66 ms
range obj: 7.74 ms
Output for 7.4.3 2 vars: 1.59 ms
range arr: 3.59 ms
range obj: 7.93 ms
Output for 7.4.2 2 vars: 1.66 ms
range arr: 3.71 ms
range obj: 7.89 ms
Output for 7.4.1 2 vars: 2.6 ms
range arr: 4.59 ms
range obj: 7.6 ms
Output for 7.4.0 2 vars: 1.56 ms
range arr: 4.11 ms
range obj: 7.81 ms
Output for 7.1.0 - 7.1.33 , 7.2.0 - 7.2.34 , 7.3.0 - 7.3.33 Parse error: syntax error, unexpected 'int' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in /in/CMktE on line 6
Process exited with code 255 . Output for 5.4.0 - 5.4.45 , 5.5.0 - 5.5.38 , 5.6.0 - 5.6.40 , 7.0.0 - 7.0.33 Parse error: syntax error, unexpected 'int' (T_STRING), expecting variable (T_VARIABLE) in /in/CMktE on line 6
Process exited with code 255 . Output for 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 , 5.3.0 - 5.3.29 Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE in /in/CMktE on line 6
Process exited with code 255 . Output for 5.0.0 - 5.0.5 Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE in /in/CMktE on line 6
Process exited with code 255 . 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/CMktE on line 6
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/CMktE on line 6
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/CMktE on line 6
Process exited with code 255 . preferences:dark mode live preview ace vim emacs key bindings
49.54 ms | 571 KiB | 5 Q