linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] Konqueror e processore in Kubuntu Hardy

Maurizio Paolini paolini a dmf.unicatt.it
Sab 18 Lug 2009 12:56:53 UTC
Dipende molto dalla versione di grep. Anche su una vecchia Fedora 8 con
grep versione 2.5.1 il problema non c'e'.

D'altronde e' piuttosto verosimile che sia risbucato un baco che era
gia stato in qualche modo patchato.

In verita' la mia impressione e' che il degrado di prestazioni sia
venuto fuori dalla fedora 10 (o forse dalla 9), pero' non ho piu' sottomano
sistemi con quella versione e non posso fare dei test.

Invece con fc11 e gli ultimi aggiornamenti, il problema e' sempre
riproducibile.  Sarebbe interessante provare su un'altra distribuzione
che abbia la stessa versione di grep.
Peraltro non so se poi il problema e' a livello di glibc piuttosto che
di grep.

mp

On Sat, Jul 18, 2009 at 12:50:03PM +0200, Luca Coianiz wrote:
> On Fri, 17 Jul 2009, Maurizio Paolini wrote:
>> Riporto qui sotto un modo minimale per evidenziare
>> il problema: [fedora 11 glibc-2.10.1-2.i686 grep-2.5.3-4.fc11.i586]
>>
>> $ for n in `seq 10000`
>>> do
>>>  echo "0" >>test.txt
>>> done
>> $ export LANG=en_US.UTF-8
>> $ time grep [0] test.txt >/dev/null
>>
>> real    0m9.102s            <--------------- 9 secondi!!!
>> user    0m8.419s
>> sys     0m0.021s
>> $ export LANG=en_US
>> $ time grep [0] test.txt >/dev/null
>>
>> real    0m0.018s            <--------------- 18 millesimi di sec
>> user    0m0.004s
>> sys     0m0.001s
>> --------------------------------------
>>
>> La differenza di tempo di calcolo e' spaventosa... e non si
>> spiega semplicemente dicendo che non viene usato un algoritmo
>> sufficientemente astuto, c'e' proprio dietro un baco.
>> Oltretutto la differenza non si vede se l'espressione regolare
>> e' "0" invece che "[0]" (semanticamente del tutto equivalenti).
>
>  Ma è un problema solo di Fedora+UTF8?
>  Perchè ho eseguito il "paolini test" su una Debian 4.0 con grep (GNU 
> grep) 2.5.1 e glibc-2.3.6-2 e mi ha dato tempi simili (stesso ordine di 
> grandezza) su entrambi:
>
> home:/tmp# echo $LANG
> en_US.UTF-8
> home:/tmp# time grep [0] test.txt >/dev/null
>
> real    0m0.020s
> user    0m0.020s
> sys     0m0.000s
> home:/tmp# export LANG=en_US
> home:/tmp# time grep [0] test.txt >/dev/null
>
> real    0m0.013s
> user    0m0.004s
> sys     0m0.008s
> home:/tmp# uname -a
> Linux home 2.6.24-etchnhalf.1-686 #1 SMP Wed Apr 29 18:45:14 UTC 2009 i686 GNU/Linux
>
>  e sto usando un vecchio P3/800.
>
>     LC

> --




Maggiori informazioni sulla lista Lug