AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Wie "teuer" ist ein wiederholtes Create & Destroy von Objekten
Thema durchsuchen
Ansicht
Themen-Optionen

Wie "teuer" ist ein wiederholtes Create & Destroy von Objekten

Ein Thema von tofse · begonnen am 26. Jan 2012 · letzter Beitrag vom 26. Jan 2012
 
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#2

AW: Wie "teuer" ist ein wiederholtes Create & Destroy von Objekten

  Alt 26. Jan 2012, 09:46
Ich würde konsequent sauber programmieren, d.h. so wie Du es machst, hört es sich gut an.
Ein wenig Overhead hat man natürlich, wobei der Speichermanager gute Arbeit leistet.

Du könntest einen ObjectPool erstellen, also freigegebene Objekte in einer Liste parken und wenn ein neues Objekt angefordert wird, erstmal schauen, ob noch ein geparktes Objekt in der Liste ist. Aber so ähnlich macht es der Speichermanager auch, also sparst Du dir vielleicht die Konstruktorlogik.

Andererseits musst Du ein Objekt aber auch plattmachen, wenn Du es (neu) zur Verfügung stellst...

Wenn es wirklich wirklich auf Performance ankommt, und Du irgendwelche Objekte millionenfach freigibst und alloziieren willst, dann verwende vielleicht lieber (statische) Records. Aber das hast Du ja nicht.
  Mit Zitat antworten Zitat
 


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 02:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz