Thread Unicode::Collate -> sehr langsam? (26 answers)
Opened by bianca at 2014-12-27 18:42

bianca
 2015-01-07 18:19
#179109 #179109
User since
2009-09-13
6977 Artikel
BenutzerIn

user image
Danke für deine Mühe. Dann lohnt es nicht, das weiter zu verfolgen.

Ich hab das inzwischen auch noch so optimiert:
Code (perl): (dl )
1
2
3
4
use Unicode::Collate;
my $alphasorter_modul   = Unicode::Collate->new();
my $alphasorter_regex   = qr{[^0-9 a-z!"§$%&/()=?\{\[\]\}\]><|_\-+*,.:;#'~\^]}ix;
my $sort = sub { $_[0] =~ $alphasorter_regex || $_[1] =~ $alphasorter_regex ? $alphasorter_modul->cmp($_[0],$_[1]) : lc $_[0] cmp lc $_[1] };

Das nutzt das langsame Modul wirklich nur, wenn es nötig ist. Hoffe ich zumindest :)
Geschwindkeit ist auf jeden Fall annehmbar. Bei den Daten die ich damit sortiere sind diese ganzen Sonderzeichen und Umlaute "normal" wenig vertreten, also nicht übermäßig oft.
10 print "Hallo"
20 goto 10

View full thread Unicode::Collate -> sehr langsam?