Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]3428[/thread]

Frage zur Perfomance: Frage zur Perfomance



<< >> 5 Einträge, 1 Seite
Gast Gast
 2004-03-31 02:20
#31943 #31943
Mahlzeit,

ich habe ein Perlscript, dass in mehrere (7) Subroutinen unterteilt ist. Jede Subroutine führt eine SQL(MySQL) Abfrage durch, arbeitet die Ergebnisse auf und gibt entsprechende Werte zurück.

Meine Frage bezieht sich nun auf die Geschwindigkeit. In welchem Rahmen würde das Script schneller arbeiten, wenn ich die zerstückelten Abfragen zu einer "großen" zusammenführe? Wie wirkt sich das ganze aus insbesondere, wenn das Script stark ausgelastet ist?
lichtkind
 2004-03-31 02:25
#31944 #31944
User since
2004-03-22
5681 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
ein einfacher aufruf eines subs verbrät ja keine rechenzeit
das script scheint ja nicht soooo gross zu sein das es fast egal
ist wie lang es ist, grad wenn es viele daten anfragen sind
lohnt es sich schon in einzelnen routinen die abfragen zu tweaken

aber mehr infos über dein programm würden sich auf jeden besser machen

evtl mod_perl???
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
pq
 2004-03-31 02:30
#31945 #31945
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das ist ziemlich abhängig davon, wie gross die datenbank ist und welche
art von abfragen. z.b. habe ich bei sybase die erfahrung gemacht, dass
es effizienter sein kann, zwei abfragen hintereinander zu machen mit zwischenspeichern in der temp-db als eine grosse abfrage.
aber klarheit verschaffen dir am besten benchmarks.
es laesst sich auch zeit sparen, wenn du z.b. prepare()-aufrufe
möglichst selten ausführst und platzhalter benutzt - mehr dazu in der DBI-doku...
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
Danny
 2004-03-31 02:39
#31946 #31946
User since
2004-03-31
1 Artikel
BenutzerIn
[default_avatar]
Wie gesagt es sind sieben Subroutinen, die alle nach dem folgendem Schema ablaufen:

$sth = $dbh->preapre("Select...");
$sth->execute();
while(@zeile=$sth->fetchrow_array())
{ unshift(@liste, @zeile); }
$sth->finish();
esskar
 2004-03-31 03:35
#31947 #31947
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
benutz push, nicht unshift

ein kleines OT zum Thema performance:
die Leute, die sich um meine Diplomarbeit kümmern, meinten, ich sollte struct's anstatt class's (c++) nehmen, um performance zu gewinnen...
konnte da nur müde lächeln und mit "am falschen Ende sparen" antworten! :)
<< >> 5 Einträge, 1 Seite



View all threads created 2004-03-31 02:20.