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

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

On Sun, Jun 14, 2009 at 5:04 PM, Urias McCullough<umccullough@xxxxxxxxx> wrote:
> 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'

Running it on a gcc2 Haiku on the same machine gave slightly lower max
values on the "C" code, which is strange since i didn't think it was
using any of the OS functions?

/Haiku1/home> 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: 348 clock cycles.
10 runs per benchmark.

                    --  Results  --

       Minimum    Average    Maximum
# 1:   1046472    1062784    1187568  - 'C, original'
# 2:   1164288    1167100    1174560  - 'C, precise'
# 3:   1287912    1302430    1350480  - 'C, precise DIV'
# 4:    519972     521715     530304  - 'MMX/SSE'
# 5:    454488     457060     479532  - 'MMX/SSE optim-test'
# 6:    481896     483454     491520  - 'SSE2'
# 7:    515664     517351     525516  - 'SSSE3'

Other related posts: