Test: strncmp vs. strpos (long)
2000 character string, check if a substring exists in a defined location, both pass and fail paths.
View test history (3) Run this test again Return to test menuResult: Discarded
The test labeled "strpos()" was the faster by 0.0635 seconds, (5.475% faster)
The strpos() test took 1.0962 seconds.
The strncmp() test took 1.1597 seconds.
Nitty-Gritty
Each test case ran 20 random code order iterations consisting of 288,218 loops for a total of 5,764,360 runs.
- Line execution difference (0.000011) milliseconds.
- Avg difference (3.175) milliseconds per 288,218 loops.
- Total difference 63.50 milliseconds for 5,764,360 loops
The iteration variablity for Code 1 was (8.3337) milliseconds and Code 2 was (4.2927) milliseconds. The lower and the closer together there values are the more accurate the results are.
Code
The first test, "strncmp()", was:
for ($j = 0; $j < 40; $j++) $GLOBALS['dummy'] = strncmp($GLOBALS['dummy_match'], '01234', 5) === 0; for ($j = 0; $j < 40; $j++) $GLOBALS['dummy'] = strncmp($GLOBALS['dummy_fail'], '01234', 5) === 0;
The second test, "strpos()", was:
for ($j = 0; $j < 40; $j++) $GLOBALS['dummy'] = strpos($GLOBALS['dummy_match'], '01234') === 0; for ($j = 0; $j < 40; $j++) $GLOBALS['dummy'] = strpos($GLOBALS['dummy_fail'], '01234') === 0;