On Dec 3, 2007, at 12:19 PM, Jakub Narebski wrote:
Perhaps simplier, but isn't it slower?
Actually it's faster on modern cpu with deep pipelines. The following
is simple test on my macbookpro (repeated 3 times and picked lowest
one):
$ time ./crudtest 1000000000
old crud...
real 0m0.856s
user 0m0.839s
sys 0m0.011s
$ time ./crudtest 1000000000 simple
new crud...
real 0m0.431s
user 0m0.421s
sys 0m0.007s
Note: it's compiled with gcc -O2. -O3 gives the same timing; -O:
simple crud has the same timing while the old crud is 10x slower; -O0
(off): the simple code is 50% slower than old crud (note: 10x less
iterations):
$ time ./crudtest0 100000000
old crud...
real 0m0.659s
user 0m0.638s
sys 0m0.008s
$ time ./crudtest0 100000000 simple
new crud...
real 0m1.175s
user 0m1.149s
sys 0m0.014s
Since the default CFLAGS in git Makefile has -O2, the simple/new code
is faster by default.
__Luke
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html