AGB  ·  Datenschutz  ·  Impressum  







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

Effektivität von Records und Objekten

Ein Thema von Gargamel · begonnen am 28. Dez 2011 · letzter Beitrag vom 29. Dez 2011
 
Iwo Asnet

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

AW: Effektivität von Records und Objekten

  Alt 29. Dez 2011, 13:29
Also bei dem Verwaltungskram verwende OOP. Die paar Nanosekunden, die man vielleicht (wenn überhaupt) einspart, lohnen nicht den Mehraufwand.

Programmierer und strukturiere sauber, dann wird es auch schnell (genug). Wenn Du nicht völlig bekloppt programmiert hast, dann kannst Du zum Schluss noch an den kernigen Stellen etwas rausholen.

Nach meinen bescheidenen Kenntnissen produziert eine Klasse beim Instantiieren und bei virtuellen Methodenaufrufen etwas Overhead, aber ansonsten verhält es sich (vom Zeitverhalten her) wie ein Zeiger auf ein Record.

Wenn du mit 'Handles' arbeiten willst, dann würde ich eine Dictionary nehmen. Wenn ein Objekt eingetragen wird, erzeugst Du eine ID und das ist das Handle. Das ist sicherer als ein Index oder eine als 'Handle' gecastete Adresse.

Wenn du auf ein Objekt zugreifen willst, suchst Du in der Dictionary nach dem Handle, das geht sauschnell und produziert nur ein paar CPU-Zyklen overhead. Wird es nicht gefunden, kannst Du sehr sauber reagieren. Bei als Handle verkleideten Indizes oder Instanzzeigern kann man schnell richtig viel versaubeuteln ohne zu merken, was Sache ist.

Was das Exceptionhandling anbelangt ist nur das Auftreten einer Exception selbst performancetechnisch zu vermeiden. Das TRY an sich ist eigentlich nicht spürbar.

Also solltest Du mit TRY-EXCEPT arbeiten und ansonsten Exceptions vermeiden. Leider geht das oft zu Lasten der Lesbarkeit.

Ich würde mich übrigens an deiner Stelle hüten, nur auf Performance zu gehen, denn Lesbarkeit und vor allen Dingen "Robustheit" geht irgendwie vor, finde ich.
  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 18:32 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