AGB  ·  Datenschutz  ·  Impressum  







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

Umgang mit Interfaces

Ein Thema von Whookie · begonnen am 5. Dez 2013 · letzter Beitrag vom 16. Dez 2013
Antwort Antwort
Seite 7 von 7   « Erste     567   
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#61

AW: Umgang mit Interfaces

  Alt 16. Dez 2013, 15:56
Die Bereichsüberprüfung (zusammen mit der I/O Prüfung und der Überlaufprüfung) ist absolute Pflicht, wir hatten schon Leute in der Firma, die uns durch abschalten Stress ohne Ende bereitet haben...
Performanz mag ja hin und wieder ein Faktor sein, Sicherheit geht aber vor!
Bei uns gab es in den letzten Jahren in der Hinsicht keinerlei Probleme. Auch in Tests mit aktivierter Prüfung gab es keine entsprechenden Fehler. Die Performance ist ohne die Option jedoch spür- und messbar besser. Deshalb macht es in unserem Fall keinen Sinn die Option zu aktivieren.

Wenn natürlich solche Fehler auch tatsächlich vorkommen, ist das etwas anderes. Da müsste man sich aber schon fragen woran das liegt und ob sich das vermeiden lässt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: Umgang mit Interfaces

  Alt 16. Dez 2013, 16:14
Es schweift etwas vom Thema ab aber ich schließe mich da Himi an.
Die Grundeinstellungen sollten für Anfänger optimiert sein.
Wer dann weiß was er tut kann die Bereichsprüfung ausschalten und die Performance erhöhen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#63

AW: Umgang mit Interfaces

  Alt 16. Dez 2013, 16:47
...aber warum das Rad zweimal erfinden?
Code:
fList: TObjectList<TListData>
erfindet ja das Rad nicht neu...

Sind denn diese anderen Listen von einen anderen (eigenen) Listentyp ohne Hash?
Es ist eine einfache Liste (in der Interfacelosen-Variante vom Type TObjectList) ohne weitere Daten (der Besitzer durchläuft sie, um z.B. allen Elementen eine Nachricht zu übermitteln).

Und der entscheidene Unterschied ist: Ich habe keine Speicherlecks beim Beenden (laut FastMM).
Die habe ich auch nicht, solange es keine Quer-Referenzen gibt. Sobald aber eines der Objekte eine zusätzliche Liste pflegt (siehe Beitrag #39, uImpl.pas, Zeile 130), beginnt der Spaß mit der Referenzzählung. Ich nehme an, dass sich das - unabhängig von der verwendeten Liste - nur durch Manipulation der Referenzzählung (Beitrag 45, himitsu), wirklich lösen lässt.

Um wieviel langsamer ist denn die Suche von TDictionary im Verhältnis zu deiner Lösung?
Meine braucht im worst case log2(n) die von Delphi im Durchschnitt n/2, das sind bei 100000 Elementen 17 zu 50000 Vergleiche...


Edit: Was deine Version in #51 angeht, die hat zwar kein Speicherleck, funktioniert aber andererseits auch nicht richtig (du erzeugst zwar 4 Elemente die alle IInteger unterstützen, aber bei der Ausgabe sind es nur mehr 3....)
Whookie

Software isn't released ... it is allowed to escape!

Geändert von Whookie (16. Dez 2013 um 17:04 Uhr)
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#64

AW: Umgang mit Interfaces

  Alt 16. Dez 2013, 17:09
Wenn natürlich solche Fehler auch tatsächlich vorkommen, ist das etwas anderes. Da müsste man sich aber schon fragen woran das liegt und ob sich das vermeiden lässt.
Es gibt leider Menschen mit den unterschiedlichsten Charakterzügen...

...Die Grundeinstellungen sollten für Anfänger optimiert sein.
Wer dann weiß was er tut kann die Bereichsprüfung ausschalten und die Performance erhöhen.



...wobei, das erst die QM-Abteilung nach ausgiebigen Tests erlauben sollten.
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 7   « Erste     567   


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 07:23 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