On 5 September 2011 04:21, Michael Hope <michael.h...@linaro.org> wrote:
> On Fri, Sep 2, 2011 at 4:08 PM, Michael Hope <michael.h...@linaro.org> wrote:
>> Hi Dave.  I've been hacking away and have checked in a couple of
>> benchmarking and plotting scripts to lp:cortex-strings.  The current
>> results are at:
>>  http://people.linaro.org/~michaelh/incoming/strings-performance/
>>
>> All are done on an A9.  The results are very incomplete due to how
>> long things take to run.  I'll leave ursa3 doing these over the
>> weekend which should flesh this out for the other routines.
>
> Right, that's done.  The new graphs are up at:
>  http://people.linaro.org/~michaelh/incoming/strings-performance/
>
> The original data is at:
>  http://people.linaro.org/~michaelh/incoming/strings-performance/epic.txt
>
> Here's the relative performance for all routines with eight byte
> aligned data and 128 byte blocks:
>  http://people.linaro.org/~michaelh/incoming/strings-performance/top-000128.png
>
> memchr, memcpy, strcpy, and strlen all look good at this block size.

Good.

> Here's the speed versus block size for eight byte aligned data:
>  http://people.linaro.org/~michaelh/incoming/strings-performance/sizes-memchr-08.png

Nice; odd dip between 8 and 16 chars - I don't switch to the smarter
stuff until 16 bytes.

>  http://people.linaro.org/~michaelh/incoming/strings-performance/sizes-memset-08.png

Hmm yes the short ones could be a bit faster - I always tended to use
log X scales :-)
The really small ones I wouldn't worry too much about, the interesting
stuff is 32-512
where I'd have expected it to have got it's act in gear.

>  http://people.linaro.org/~michaelh/incoming/strings-performance/sizes-strchr-08.png
>  http://people.linaro.org/~michaelh/incoming/strings-performance/sizes-strchr-08.png

The version of strchr that's in there is the simple-as-possible
strchr; it's byte at a time -
I also have a version that uses similar code to memchr that goes fast
at large sizes
but is slower for small matches:

See:
https://wiki.linaro.org/WorkingGroups/ToolChain/Benchmarks/InitialStrchr?action=AttachFile&do=get&target=panda-01-strchr-git44154ec-strchr-abs.png

I'd made the call that performance at smaller strings was probably
more important.

>  http://people.linaro.org/~michaelh/incoming/strings-performance/sizes-strcmp-08.png

Huh? I haven't written a strcmp - that looks like newlibs?

>  http://people.linaro.org/~michaelh/incoming/strings-performance/sizes-strcpy-08.png

Ditto.

>  http://people.linaro.org/~michaelh/incoming/strings-performance/sizes-strlen-08.png

That's very nice - although quite bizarre;  even the lower end of the
steps are suitably
fast so not really anything to worry about; but it  would be great to
understand where
the 1500 cycle difference is going at the large end.

Dave

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to