Thread String, character, suche und ersetzen (26 answers)
Opened by Graf Herschel at 2018-12-11 10:42

Linuxer
 2018-12-11 13:29
#189376 #189376
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Ein Vergleich zweier schnell zusammengehackter Ansätze bringt hier:

Code: (dl )
1
2
3
4
String length: 24000
Rate reverse_regex rindex_substr
reverse_regex 19321/s -- -80%
rindex_substr 95467/s 394% --


Hier wäre also der Ansatz mit rindex() und substr() ca. 5mal schneller als der mit reverse() und regex-Ersetzung.

Mit kürzeren Strings wird es etwas besser:
Code: (dl )
1
2
3
4
String length: 12000
Rate reverse_regex rindex_substr
reverse_regex 39821/s -- -66%
rindex_substr 118153/s 197% --


Daran sieht man schon, dass es stark davon abhängt, was Du für Daten hast; bzw. wie lang diese sind.
Und auch wo genau die Ersetzung stattfinden muss. In den Testdaten erfolgt die Ersetzung immer noch sehr nah am Stringende... D.h. die Suchen mit rindex() kommen schnell zum Ergebnis.


Die hier getesteten Routinen kümmern sich nur um die Ersetzung; eine Prüfung gegen eine Position "x" ist da noch nicht implementiert.
Last edited: 2018-12-11 13:31:17 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread String, character, suche und ersetzen