Test: function vs. class method
Tests for any difference between calling a free function or a member function.
Run this test again Return to test menuResult: Discarded
The test labeled "class method" was the faster by 0.0164 seconds, (2.202% faster)
The class method test took 0.7287 seconds.
The function test took 0.7451 seconds.
Nitty-Gritty
Each test case ran 20 random code order iterations consisting of 210,689 loops for a total of 4,213,780 runs.
- Line execution difference (0.000004) milliseconds.
- Avg difference (0.820) milliseconds per 210,689 loops.
- Total difference 16.41 milliseconds for 4,213,780 loops
The iteration variablity for Code 1 was (0.5839) milliseconds and Code 2 was (1.1167) milliseconds. The lower and the closer together there values are the more accurate the results are.
Code
The first test, "class method", was:
/* class Example { var $x; function foo() { $this->x = 42; return 42; } } */ $test = new Example(); for ($i = 0; $i < 100; $i++) $GLOBALS['dummy'] = $test->foo();
The second test, "function", was:
/* function example_foo(&$array) { $array['x'] = 42; return 42; } */ $test = array(); for ($i = 0; $i < 100; $i++) $GLOBALS['dummy'] = example_foo($test);