buf_set_buf around 30% speed increase
commit706284a8fd562d5a6e2c1f123f8cb366b7e49e7d
authorMathias K <kesmtp@freenet.de>
Fri, 4 Feb 2011 20:15:22 +0000 (4 21:15 +0100)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Tue, 8 Feb 2011 08:39:59 +0000 (8 09:39 +0100)
tree0f3f75dcc6cea75c71853ec716ad6b59dfb28f26
parent5ca7cbe2d232fcaff32598af1ef5e962e704c004
buf_set_buf around 30% speed increase

Also i have checked the input of this function and in many cases
a simple byte copy is possible.

I have added this check now and is it possible the buffer is
copied byte by byte and not bit by bit.

With byte boundary input the test looks like this:

buf_set_buf 0x02000000 iteration test:
runtime (seconds): old: 6.828559 new: 0.436191 diff: 6.392368
runtime (seconds): old: 6.853636 new: 0.430389 diff: 6.423247
runtime (seconds): old: 6.794985 new: 0.423065 diff: 6.371920

Without:

buf_set_buf 0x02000000 iteration test:
runtime (seconds): old: 6.370869 new: 5.552624 diff: 0.818245
runtime (seconds): old: 6.420730 new: 5.665887 diff: 0.754843
runtime (seconds): old: 6.583306 new: 5.599021 diff: 0.984285

Regards,

Mathias
src/helper/binarybuffer.c