[devel] [PATCH 0/3] optimize rpmsetcmp()

Alexey Tourbin at на altlinux.ru
Вс Дек 5 01:24:51 UTC 2010


The answer is: no.
The reason is: compilcated.
The explanation is:
  Don't try to improve my code.

On Fri, Nov 26, 2010 at 12:04:23AM +0200, Kirill A. Shutsemov wrote:
> From: Kirill A. Shutemov <kirill на shutemov.name>
> 
> Tested on Intel Core2 Duo P9500, 3GiB RAM. i586.
> 
> rpm-4.0.4-alt100.4:
> 
>  Performance counter stats for 'apt-cache unmet' (10 runs):
> 
>         3396.569863  task-clock-msecs         #      1.000 CPUs    ( +-   0.018% )
>                  12  context-switches         #      0.000 M/sec   ( +-   9.296% )
>                   5  CPU-migrations           #      0.000 M/sec   ( +-  21.414% )
>                9680  page-faults              #      0.003 M/sec   ( +-   0.002% )
>          8525321008  cycles                   #   2509.980 M/sec   ( +-   0.016% )  (scaled from 33.34%)
>          7937229883  instructions             #      0.931 IPC     ( +-   0.041% )  (scaled from 50.00%)
>          1468168069  branches                 #    432.250 M/sec   ( +-   0.014% )  (scaled from 49.99%)
>           257179182  branch-misses            #     17.517 %       ( +-   0.047% )  (scaled from 50.01%)
>            26275740  cache-references         #      7.736 M/sec   ( +-   0.114% )  (scaled from 33.35%)
>              350852  cache-misses             #      0.103 M/sec   ( +-   1.127% )  (scaled from 33.35%)
> 
>         3.398038183  seconds time elapsed   ( +-   0.018% )
> 
> rpm-4.0.4-alt100.4 + patchset:
> 
>  Performance counter stats for 'apt-cache unmet' (10 runs):
> 
>         2010.112427  task-clock-msecs         #      1.000 CPUs    ( +-   0.038% )
>                   8  context-switches         #      0.000 M/sec   ( +-  17.232% )
>                   4  CPU-migrations           #      0.000 M/sec   ( +-  21.237% )
>                9675  page-faults              #      0.005 M/sec   ( +-   0.005% )
>          5043579686  cycles                   #   2509.103 M/sec   ( +-   0.041% )  (scaled from 33.32%)
>          5567840605  instructions             #      1.104 IPC     ( +-   0.021% )  (scaled from 50.00%)
>          1028369972  branches                 #    511.598 M/sec   ( +-   0.016% )  (scaled from 50.00%)
>            94986026  branch-misses            #      9.237 %       ( +-   0.080% )  (scaled from 50.03%)
>            16227132  cache-references         #      8.073 M/sec   ( +-   0.303% )  (scaled from 33.36%)
>              323117  cache-misses             #      0.161 M/sec   ( +-   1.241% )  (scaled from 33.34%)
> 
>         2.011050788  seconds time elapsed   ( +-   0.044% )
> 
> Kirill A. Shutemov (3):
>   set.c: use packed bitmap for bit vector
>   set.c: optimize putbits()
>   set.c: optimize decode_golomb()
> 
>  lib/set.c |  186 ++++++++++++++++++++++++++++++++++++++----------------------
>  1 files changed, 118 insertions(+), 68 deletions(-)
> 
> -- 
> 1.7.3.2


Подробная информация о списке рассылки Devel