Schrift
[thread]4862[/thread]

Script frisst zuviel Speicher: +6MB pro 20min



<< >> 9 Einträge, 1 Seite
pktm
 2005-02-03 19:32
#42838 #42838
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hallo!

Ich habe da ein recht umfangreiches Programm welches Bilderserien mit Textinfos anzeigt (alias Slideshow fürs Schaufenster).

Gibt generell irgendwelche Sachen auf die man achten sollte um die Speicherkapazität klein zu halten?

Ich nehme nicht an, dass der Speicherbedarf von den Bildern her rührt, da ich dieses Problem gleich zu anfang beseitigte.
Zur Zeit ändere ich das Bild immer mittels configure.

Ich weis da nicht weiter, bzw. ich weis nciht wo ich anfangen soll zu suchen.
Wo kann man denn Speicherbelegung optimieren?
Bei Schleifen indem man Variablen außerhalb deklariert oder wie?

mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2005-02-03 21:49
#42839 #42839
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
neee... den scope klein halten und verschachtelte referenzen achten...
natürlich kann es auch sein, dass Tk speicher löcher hat!
pktm
 2005-02-03 22:58
#42840 #42840
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Quote
den scope klein halten


Ich habe da einen unschönen Hash rumstehen der die wichtigen Daten für die Slideshow (Fotos, anzuzeigende Texte usw.) beinhaltet.
Könnte der das problem sein? Aber der verändert seine Größe doch nicht, bzw. wird bei Änderungen vorher "geleert" ($arrayref = []; usw.)

Dumm ist halt, dass das Prog. mind. 18h laufen muss...
Ich hätte dann 324MB Speicherbedarf...
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2005-02-04 01:37
#42841 #42841
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=pktm,03.02.2005, 21:58]$arrayref = [];[/quote]
köönt unschön sein
pktm
 2005-02-04 01:50
#42842 #42842
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Was könnte sein, dass ich mit dem Leeren der Variablen mittels $x = [] den Speicher leere oder dass ich damit Datenmüll produziere? ???
http://www.intergastro-service.de (mein erstes CMS :) )
esskar
 2005-02-04 04:21
#42843 #42843
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
letzteres!
ptk
 2005-02-04 11:18
#42844 #42844
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Bei Tk musst du daran denken, die Bilder per ->delete zu löschen. Es reicht nicht, die Referenz auf undef zu setzen!
pktm
 2005-02-04 14:12
#42845 #42845
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Ah, sorry, Missverständnis.
Dieser hash enthält keine Tk-Objekte sondern nur Text und Pfade zu Bildern usw.
Die Tk-Objekte lösche ich per destroy() (sind Labels)
Ich werde mal zusehen, dass ich den Sourcecode ins Netz stelle damit ihr ihn euch ansehen könnt.

mfg pktm
http://www.intergastro-service.de (mein erstes CMS :) )
ptk
 2005-02-04 16:33
#42846 #42846
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Bei Tk sollte man Widgets nach Moeglichkeit wiederverwenden. Nach einem ->destroy muss man schon mit ein paar Bytes verlorenen Speicher rechnen. Aber 6MB/20min hoert sich ziemlich viel an.

Allgemein muss man auch im Hinterkopf haben, dass malloc() normalerweise nicht optimal arbeitet und hier auch Verluste auftreten koennen.
<< >> 9 Einträge, 1 Seite



View all threads created 2005-02-03 19:32.