[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