Test: integer vs. string keys
Note that integers are being accessed as integers, strings as strings. This is not testing auto-casting, just which is faster when used consistently.
Run this test again Return to test menuResult: Discarded
The test labeled "integer" was the faster by 0.0421 seconds, (3.829% faster)
The integer test took 1.0562 seconds.
The string test took 1.0983 seconds.
Nitty-Gritty
Each test case ran 20 random code order iterations consisting of 298,261 loops for a total of 5,965,220 runs.
- Line execution difference (0.000007) milliseconds.
- Avg difference (2.103) milliseconds per 298,261 loops.
- Total difference 42.06 milliseconds for 5,965,220 loops
The iteration variablity for Code 1 was (1.3042) milliseconds and Code 2 was (2.9376) milliseconds. The lower and the closer together there values are the more accurate the results are.
Code
The first test, "integer", was:
$GLOBALS['dummy_i'][42] = 1; $GLOBALS['dummy_i'][43] = 1; $GLOBALS['dummy2'] = $GLOBALS['dummy_i'][42]; $GLOBALS['dummy2'] = $GLOBALS['dummy_i'][43]; unset($GLOBALS['dummy_i'][42]); unset($GLOBALS['dummy_i'][43]);
The second test, "string", was:
$GLOBALS['dummy_s']['s42'] = 1; $GLOBALS['dummy_s']['s43'] = 1; $GLOBALS['dummy2'] = $GLOBALS['dummy_s']['s42']; $GLOBALS['dummy2'] = $GLOBALS['dummy_s']['s43']; unset($GLOBALS['dummy_s']['s42']); unset($GLOBALS['dummy_s']['s43']);