[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
|