Hallo Leute,habe ein kleines Problem und vllt kann mir wer einen Tipp geben!?
Meine Umgebung sieht in etwa so aus:
* ich habe ein txt-file mit ~1,5GB Größe
* ich suche mit m/.../ einen festen String
* ich zähle die Treffer mit
* ich gebe die Trefferanzahl aus
das Ganze habe ich in Perl und Java (nich schlagen, war eher aus Interesse um belegen zu können wie toll doch Perl ist) umgesetzt
Quellcode siehe Links weiter unten.
Mein Problem ist nun, dass Java ~30% schneller ist wenn ich regex nehme und wenn ich die Methode contains nutze, dann sogar 10x so schnell wie mein Perlscript.
Das kann doch irgendwo nicht sein oder?
Da das Programm später 100+GB Textfiles durchforsten muss, ist auch nur der geringste Performanceschub wichtig für mich.
Hat wer eine Idee warum Perl so extrem langsam ist?
hier die beiden Quellcodes:
Perl: http://pastebin.com/m6bc247c7 (Laufzeit ~4:30min)
Java: http://pastebin.com/m4f021d5d (Laufzeit mit regex: ~3min, mit contains ~35sec)
Vielen Dank schonmal
Datum: 11.05.2009-16:48
