AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Maßnahmen zum Speicherverbrauch minimieren

Ein Thema von stahli · begonnen am 15. Jul 2015 · letzter Beitrag vom 23. Jul 2015
Antwort Antwort
Seite 5 von 7   « Erste     345 67      
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#41

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 16. Jul 2015, 23:57
In dem Projekt male ich keine Striche.

Aber egal. Ich habe verstanden, dass
Delphi-Quellcode:
StringA := 'XXX';
StringB := StringA;
einmal Speicher belegt und
Delphi-Quellcode:
StringA := 'XXX';
StringB := 'XXX';
zweimal.

Was bei meinem Projekt möglicherweise falsch läuft, suche ich dann am WE.
Wird schon klappen...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#42

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 17. Jul 2015, 09:09
Irgendwie fehlt mir gerade heute morgen nach nur einen Kaffee die Fantasie, um zu ergrübeln, was man mit einer derartigen hohen Anzahl von Objekten machen möchte.
Bei derart hohen Speicherauslastungen hätte ich spontan auf Bild- und/oder Videoverarbeitung getippt, aber das ist wohl nicht der Fall, oder?
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#43

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 17. Jul 2015, 10:06
Wenn ich das richtig verstanden haben, möchte Stahli später eine Verdrängung implementieren, aber möchte trotzdem erstmal den Speicherbedarf verringern. Das finde ich legitim.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#44

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 17. Jul 2015, 10:12
Zitat von Sir Rufo:
Und du bastelst da nochmal ein Interface drum herum und das anscheinend auch noch falsch ...
Warum sollte ich mir etwas anschauen, wo du bunte Striche malst?
Da ist aber jemand angefressen
ne er hat ja Recht. Das ist wieder so ein Glaskugel Thread...

42!
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#45

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 17. Jul 2015, 10:17
Auch ich würde gerne helfen. Ist aber schwierig ohne ein entsprechendes Testprojekt.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#46

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 17. Jul 2015, 10:42
Auch ich würde gerne helfen. Ist aber schwierig ohne ein entsprechendes Testprojekt.
Klasse EMBT Antwort...
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#47

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 17. Jul 2015, 12:08
Auch ich würde gerne helfen. Ist aber schwierig ohne ein entsprechendes Testprojekt.
Klasse EMBT Antwort...
Ja, ich finde "42" und "Glaskugel" auch viel besser. Aber das ist ja Dein Patent
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#48

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 17. Jul 2015, 13:50
@BUG

Wenn Du mit "Verdrängung" meinst, dass Daten auch ausgelagert werden können (ORM/Datenbank) dann stimmt das genau.

@TiGü

Wie Bug schrieb sehe ich das eher als abstraktes Thema an. WENN man viele Daten in Objekten halten will ist es nicht schlecht, die Datenspeicherung etwas zu optimieren.
Das trifft auch zu, wenn man die Möglichkeit vorsieht, Datenmengen in eine Datenbank auszulagern.
Platz sparen ist generell schon sinnvoll, abgesehen vielleicht, wenn man weiß, dass das eigene Projekt ohnehin nur wenig Speicher verbraucht.
Ich dachte, es gäbe hier Tipps wie: bestimmte Linkeroptionen ausschalten, RTTI deaktivieren, auf Generics verzichten usw.

@Mavarik
!48

@Union
Das Projekt kennst Du ja, nur nicht den aktuellen Quelltext.
Meine Kontaktkanäle wären noch offen...

@Sir Rufo
Da ich fName: String durch fNameIntf: IInterfaceMitNamenEigenschaft ersetzt habe bin ich davon ausgegangen, dass der Speicherverbrauch deutlich zurückgeht, da es dann nur noch wenige Objekte gäbe, die die eigentlichen Namen verwalten. Auf diese würden nur noch Pointer zeigen.
Dass das Gegenteil rauskam hat mich verwundert. Aber gestern war es mir dann schon zu spät für weitere Untersuchungen.
Die Namen werden von dem benamten Objekt (Interface) über eine Funktion bereitgestellt: S := MyNamedIntf.Name; und dann lokal weiter verarbeitet.
Eigentlich sollte der String-Speicher dann ja wieder freigegeben werden, wenn der lokale Scope verlassen wird.
Ich werde heute Abend Dein Demoprojekt mal umbauen (TNameObject + INameInterface) und damit testen.
Ich will ja auch verstehen, wie das zusammenhängt. Bisher hatte ich noch keinen Bedarf an solchen Optimierungen und daher keine entsprechenden Kenntnisse.

Ich melde mich dann wieder...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (17. Jul 2015 um 15:15 Uhr)
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#49

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 17. Jul 2015, 18:54
Wie lange können deine Namen maximal werden, wie lange sind sie im Durchschnitt, und wieviele verschiedene Namen gibt es?
Von den Fragen hängt wohl ab, in welcher Richtung da Optimierungen zielführend sein können.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#50

AW: Maßnahmen zum Speicherverbrauch minimieren

  Alt 18. Jul 2015, 10:18
So, mal ein Testprojekt (XE3-Projekt + EXE) anbei.

Man kann erst mal mehrere Namen-Objekte erzeugen und dann mehrere Business-Objekte (bzw. Interfaces), denen dann Namen zugewiesen werden.

Den Zuweisungsmodus kann man auswählen. Man kann die Stringvariable übergeben oder das Namenobjekt oder einen neuen Text.
Jeden Modus einmal mit const- und var-Parameter.

Das Zuweisen eines neuen Textes erzeugt erwartungsgemäß einen höheren Speicherbedarf.
Stringreferenz und Interfacereferenz sind gleichermaßen platzsparend.
Ob var- oder const-Parameter spielt keine Rolle.

Jetzt werde ich mein Projekt nochmal entsprechend überarbeiten.
Miniaturansicht angehängter Grafiken
sm.png  
Angehängte Dateien
Dateityp: zip StringTest.zip (3,72 MB, 13x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 7   « Erste     345 67      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz