Test: foreach writing ref vs. key
No Description
View test history (1) Run this test again Return to test menuResult: Saved
The test labeled "non-referenced" was the faster by 0.0087 seconds, (0.823% faster)
The non-referenced test took 1.0546 seconds.
The referenced test took 1.0634 seconds.
Nitty-Gritty
Each test case ran 20 random code order iterations consisting of 294,595 loops for a total of 5,891,900 runs.
- Line execution difference (0.000001) milliseconds.
- Avg difference (0.437) milliseconds per 294,595 loops.
- Total difference 8.75 milliseconds for 5,891,900 loops
The iteration variablity for Code 1 was (1.5958) milliseconds and Code 2 was (1.7164) milliseconds. The lower and the closer together there values are the more accurate the results are.
Code
The first test, "non-referenced", was:
foreach ($GLOBALS['dummy'] as $k => $v) $GLOBALS['dummy'][$k][1]++; unset($v);
The second test, "referenced", was:
foreach ($GLOBALS['dummy'] as $k => &$v) $v[1]++; unset($v);