Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#22

Re: Array-Delete Funktion

  Alt 12. Nov 2008, 16:50
Zitat von olee:
Ich möchte keinesfalls eine Klasse verwenden!!
Das ist sehr dumm. Oder sagen wir es freundlicher: Kurzsichtig.

Zitat von olee:
1.) Ich habe dieses Array sehr oft (Waypoints in ner Map also ca. 200 mal)
Das ist nicht oft.

Zitat von olee:
2.) Ich möchte nicht immer die TList / TObjectList neu erstellen.
Warum nicht?

Zitat von olee:
--> mir gehts nur um die Performance eines Codes, um ein Element aus nem Array zu löschen.
Nun ja, es kommt doch auch darauf an, was Du sonst noch alles mit deiner Liste anstellen willst. Irgendwie müssen die Daten ja auch rein. Und suchen willst Du vielleicht auch noch.

Das Löschen würde dann z.B. noch schneller gehen, wenn du das Array an der Stelle einfach mit 'nil' (bw. mit einem wie auch immer gearteten Platzhalter) belegst. Klar, iterieren, suchen, einfügen sind dann etwas langsamer, aber das *löschen* ist dann eigentlich optimal schnell.

Und lass das dumme 'Klassen sind langsam'. In erster Linie dürfte das dein Code bzw. die Algorithmen sein, die Du verwendest. Ich an deiner Stelle würde die von Dir zu optimierende Liste als Klasse implementieren und erstmal irgendwelche halbwegs performanten und vor allen Dingen robusten Methoden implementieren. Wenn dann dein ganzes Konstrukt stabil ist, kannst Duja immer noch die Liste gegen eine für deine Belange besser geeignetere eintauschen.

Wenn es nicht gerade um generische Verfahren geht, bei denen wirklich an der Basis rumgerechnet wird (Compiler, Scanner, Bildverarbeitungsalgorithmen, vielleicht auch ein Memorymanager wären solche Kandidaten), würde ich grundsätzlich einen OOP-Ansatz wählen und mir nur um die Algorithmen und deren Aufwand Gedanken machen, und nicht um Byte-Rumgeschubse auf unterster Ebene.

Wenn Du vielleicht dein 'Problem' bzw. das, was Du insgesamt vorhast, einmal näher erklären würdest, könnte man Dir vermutlich eine geeignete Listen-Klasse (Pfui!) vorschlagen, die die von Dir gewünschten Operationen sehr schnell implementiert.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat