Well in that case, it must be depending on something else
I also tested mine for 1000000 and got
1º time is 44672
2º time is 43719
From your example i run some tests and i found that you where right!
I was intrigued with the results and analysed your code so i tried.
So, lets now change the > to == in the if condition
* IF speed test: 100,000 iterations per test
-() -{} single 3719
+() -{} single 3422
-() +{} single 4546
+() +{} single 4594
-() +{} multi 4719
+() +{} multi 4812
so was i making a fool of myself?
Seems that no one loses, we all won since we learned a bit more today.