Schrift
[thread]12529[/thread]

Durchsuchen einer List



<< >> 9 Einträge, 1 Seite
Gast Gast
 2008-09-22 17:35
#114841 #114841
Welche Methode ist schneller, wenn ich eine Liste durschuchen will:
1. Liste in Array einlesen und mit foreach nach dem Suchstring abklappern?
2. Liste in Hash (als Keys) einlesen und mit exists $hash{$suchstring} nachsehen ob der Suchstring enthalten ist?

Danke für Eure Antworten.
GwenDragon
 2008-09-22 17:40
#114842 #114842
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
pktm
 2008-09-22 17:42
#114843 #114843
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Schau mal in die perlfaq4: http://perldoc.perl.org/perlfaq4.html

Grüße, pktm
http://www.intergastro-service.de (mein erstes CMS :) )
Struppi
 2008-09-22 19:18
#114846 #114846
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
und zum rausfinden was schneller ist CPAN:Benchmark
Gast Gast
 2008-09-22 20:24
#114849 #114849
GwenDragon+2008-09-22 15:40:20--
grep gibt es auch noch.

Danke ja - ist bekannt (mit allen Vor- und Nachteilen gegenüber foreach) ;)

Struppi+2008-09-22 17:18:03--
und zum rausfinden was schneller ist CPAN:Benchmark

Das wollte ich mir sparen ...
hatte gehofft, dass jemand von euch das schon mal getestet hat und hier einfach eine klare Aussage trifft.
Linuxer
 2008-09-22 21:01
#114851 #114851
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Ohne den genaueren Kontext zu kennen, in dem Du das verwenden willst, wird Dir keine(r) eine verwertbare Antwort geben können. Die Möglichkeiten wurden aufgezeigt; die Umsetzung liegt bei Dir.
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!
moritz
 2008-09-23 00:46
#114854 #114854
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Gast+2008-09-22 18:24:55--
Struppi+2008-09-22 17:18:03--
und zum rausfinden was schneller ist CPAN:Benchmark

Das wollte ich mir sparen ...
hatte gehofft, dass jemand von euch das schon mal getestet hat und hier einfach eine klare Aussage trifft.


Die klare Aussage ist "it depends" ;-)
Bei einem mal nachschauen ist die Schleife schneller, bei häufig nachschauen ist der Hash schneller.

HTH,
Moritz
Gast Gast
 2008-09-23 01:09
#114855 #114855
moritz+2008-09-22 22:46:17--
Bei einem mal nachschauen ist die Schleife schneller, bei häufig nachschauen ist der Hash schneller.

Weil Hashaufbau + suche im Hash, mehr Zeit kostet als ein Schleifendurchlauf?
pq
 2008-09-23 12:26
#114865 #114865
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Gast+2008-09-22 23:09:01--
Weil Hashaufbau + suche im Hash, mehr Zeit kostet als ein Schleifendurchlauf?

also ganz einfach.
ich stelle dir die frage: wie komme ich schneller von A nach B? indem ich von A nach B
laufe oder mir ein auto in B kaufe und dann mit dem auto fahre?

und die antwort? wenn ich beim ersten mal mir das auto erst kaufen muss, muss ich dafür
nach B laufen, wenn ich das zweite mal nach B muss, habe ich das auto schon und bin
wesentlich schneller. also, für eine strecke lohnt das auto nicht, ab zweimal schon - vielleicht.
denn wenn der weg sehr kurz ist, dann bin ich mit laufen doch ganz gut beraten, weil ich für das
atuo ja auch noch einen parkplatz suchen muss und es im winter freikratzen muss.

so, antwort klar genug? =)

also, eine frage, was ist schneller ist meist sinnlos zu beantworten, wenn man die umstände nicht kennt.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 9 Einträge, 1 Seite



View all threads created 2008-09-22 17:35.