[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Passage en UTF-8 par défaut



On Tue, Sep 06, 2005 at 10:23:26PM +0200, Denis Barbier wrote:

> J'avais essayé le patch gofast de #181378 il y a un mois, sans grands
> résultats. Mais je viens de réessayer le grep extrait du binaire RPM
> de l'époque (je ne sais plus lequel c'était), il est effectivement
> aussi rapide en UTF-8 qu'en C avec mon test. Dans mes souvenirs, ce
> n'était pas le cas, c'est bizarre. Mais au moins, on sait que ce
> problème a une solution ;)

J'ai aussi essayer gofast, ça ne donne rien.

En revanche les patches du paquet Fedora 4 c'est parfait. Il n'y a que
très peu de perte de perf pour la locale C et pas de différence entre la
locale C et UTF-8.

Je vais faire quelques tests et envoyer les patches.

(Mon soucis, c'est que le patche Fedora fait 850 lignes, et que quasiment
aucun morceau ne passe (à part les header) et que je ne suis pas capable
de comprendre/d'expliquer ces 850 lignes).
J'ai trouvé ça qui explique bien pourquoi c'est plus rapide:
http://savannah.gnu.org/patch/?func=detailitem&item_id=3803

Je mets les patches (mis à jour) à disposition sur :
https://nekral.homelinux.net/trad/grep/patches/
(il faut tout mettre dans debian/patches)

64-egf-speedup.patch
        fait le gros du boulot
65-dfa-optional.patch
        Je ne sais pas trop s'il est nécessaire.
        En gros j'ai lu que l'algo DFA est lent pour l'UTF-8, et donc que
        c'est une bonne idée de le désactiver. Mais peut-être que ça date
        d'avant le patch egf-speedup.patch
        Il se peut que ce soit important pour des expression rationnelles
        un peu plus complexes. (qu'est-ce que j'y connait moi au DFA ?)
grep-2.5.1-tests.patch
        Il y avait des tests de non-régression supplémentaires pour l'UTF-8
        dans le paquet Fedora.
66-match_icase.patch
67-w.patch
        J'ai peut-être bien fait de tester grep-2.5.1-tests.patch, parce
        que quelques test ne passaient pas

(Note: Un test de non-régression ne passe pas, mais je ne pense pas que ce
soit de ma faute)

Il se peut que d'autres outils soufrent de lenteurs avec l'UTF-8
(sort (il parrait que c'est finit), mais j'imagine que ça peut être un
problème pour d'autres logiciels qui traitent des expressions rationnelles
(perl, awk))

Sur ce bonne nuit (donc les patches c'est pour demain),
-- 
Nekral



Reply to: