Thread Geschwindigkeit beim Parsen
(13 answers)
Opened by Oliver007 at 2013-01-10 15:09 2013-01-10T15:22:57 Oliver007 Was ist mit der Zeile #finde Positionen von **** and **** durch erste Zeile? was passiert da? Ich nehme an, dass da noch Code ausgeführt wird, den Du hier nicht zeigst. Hast Du die Zeitsteigerung auch, wenn dieser Code nicht dabei ist? Das reine wiederholte Einlesen kann eigentlich nicht Ursache Deines Problems sein. Ich kriege es jedenfalls nicht nachgestellt. Test mit 6 Datendateien zu je 60 MB (data.1 bis data.6); Testskript: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #! /usr/bin/perl use strict; use warnings; use Time::HiRes qw( gettimeofday tv_interval ); my $i=0; for my $file ( glob("data.*") ) { open FH, $file or die "$file: $!\n"; parsedata(++$i); close FH; } sub parsedata { my $run = shift; my $line; my @lines; my $t0 = [ gettimeofday ]; for $line ( <FH> ) { push @lines, $line; } my $t1 = [ gettimeofday ]; print "$run Run: ", tv_interval( $t0, $t1 ), "\n"; } __END__ Ergebnis: Code: (dl
)
1 1 Run: 0.573292 Last edited: 2013-01-10 19:10:24 +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! |