Test: create_function vs. closure inside loop
Using create_function vs anonymous lambda function in a loop
View test history (2) Run this test again Return to test menuResult: Saved
The test labeled "create_function()" was the faster by 0.0097 seconds, (0.945% faster)
The create_function() test took 1.0135 seconds.
The lambda test took 1.0232 seconds.
Nitty-Gritty
Each test case ran 20 random code order iterations consisting of 290,062 loops for a total of 5,801,240 runs.
- Line execution difference (0.000002) milliseconds.
- Avg difference (0.483) milliseconds per 290,062 loops.
- Total difference 9.67 milliseconds for 5,801,240 loops
The iteration variablity for Code 1 was (0.6737) milliseconds and Code 2 was (0.6440) milliseconds. The lower and the closer together there values are the more accurate the results are.
Code
The first test, "create_function()", was:
$a = $GLOBALS['a']; for($i = 0; $i < 100; ++$i) { $callback = create_function('$n', 'return $n;'); array_map($callback, $a); }
The second test, "lambda", was:
$a = $GLOBALS['a']; for($i = 0; $i < 100; ++$i) { $callback2 = function($n) { return $n; }; array_map($callback2, $a); }