linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] Konqueror e processore in Kubuntu Hardy

Luca Coianiz luca a coianiz.it
Sab 18 Lug 2009 10:50:03 UTC
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