[haiku-development] Re: Optimizing Painter::_DrawBitmapBilinearCopy32

  • From: Urias McCullough <umccullough@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 14 Jun 2009 17:04:40 +0000

On Sun, Jun 14, 2009 at 2:16 PM, Christian
Packmann<Christian.Packmann@xxxxxx> wrote:
> After being sidetracked on several other things, I'm currently working on
> the SIMD optims for BilinearCopy again.
>
> Benchmark binaries for Haiku/GCC2 and Windows/Cygwin can be downloaded here:
> http://www.elenthara.de/Haiku/Benchmarks/AppserverBilinCopyBench_v1.0.zip
> (The Windows version *requires* a basic Cygwin environment to be installed;
> I'll have to setup a MingW environment to get rid of the Cygwin dependency,
> but don't have time for this right now)

I didn't see any Atom benchmarks, so I figured I'd toss one up :)

Note, this machine is running gcc4 Haiku r30980 - which I suspect
doesn't matter really.

~> runme_haiku
Benchmark: Haiku app_server bilinear copy
Compile date: Jun 14 2009 14:38:02
GCC version: 2.95.3-haiku-081024

CPU vendor ID: GenuineIntel
CPU:          Intel(R) Atom(TM) CPU N270   @ 1.60GHz
  SIMD instructions: MMX SSE SSE-Integer SSE2 SSE3 SSSE3

Can't lock process to CPU on this platform.
Estimated CPUID/RDTSC overhead: 132 clock cycles.
10 runs per benchmark.

                    --  Results  --

       Minimum    Average    Maximum
# 1:   1046784    1074346    1282392  - 'C, original'
# 2:   1164516    1173552    1206912  - 'C, precise'
# 3:   1288284    1293818    1305444  - 'C, precise DIV'
# 4:    520128     521977     530472  - 'MMX/SSE'
# 5:    454704     461757     488664  - 'MMX/SSE optim-test'
# 6:    482016     483688     492480  - 'SSE2'
# 7:    515856     517687     526404  - 'SSSE3'

Perhaps I'll try it on one of my PII boxes later if I have some time.

Other related posts: