Forum: Algorithmen, Datenstrukturen und Klassendesign
by Gyrospeter,
17. Mär 2022
Erst einmal vielen Dank für die Tipps bzgl. des Profilings.
Den Programmen werde ich mich morgen bzw. das Wochenende an meinem privaten Rechner zuhause widmen.
Hat denn AQtime auch in der Standard-Version aus dem GetIt-Manager einfache Profiling-Strukturen wie
z.B. das Aufzeigen von Speicherressourcen, oder muss ich dafür die PRO-Version erwerben?
Oder ist gar der SamplingProfiler kostenlos?...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Gyrospeter,
16. Mär 2022
Reicht es nicht einfach die NewCapacity einfach auf OldList.Count zu setzen, immerhin wird die neue Liste nie größer werden als die alte Liste, nur kleiner?
Deshalb zu Beginn mit NewCapacity := OldList.Count allokieren und nach dem Hinzufügen ein TrimExcess?
Oder sollte die Allokation besser blockweise (256, 512, 1024) geschehen?
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Gyrospeter,
16. Mär 2022
Vielen Dank. Jetzt bin ich wieder etwas schlauer geworden =)
Hab meine Delphi-Version korrigiert. Bei GetIt gibt es tatsächlich einen Profiler (AQTime). Muss ich beim hinzufügen etwas beachten oder gibt es ein gutes Manual über die Nutzung darüber?
Wäre den Threading einen Blick wert, z.B. beim Hinzufügen nicht doppelter Elemente zu den temporären Listen, also um das befüllen beider...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Gyrospeter,
16. Mär 2022
Ist mit dem Profiling das Testen im Bezug auf die Effizienz gemeint?
Leider habe ich ja z.B. bei der Laufzeiteffizienz noch keine richtige Referenz, da ich ja noch keinen Vergleich zwischen altem Code und den neuen, optimierteren Code habe :D :stupid:
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Gyrospeter,
16. Mär 2022
Das ist eine gute Idee, müsste also dementsprechend nur jedes Element einzeln in die neue Liste packen und die Capacity der temporären Liste vordefinieren. Wie weiß ich denn dennoch, wie viele Elemente ich da reinpacken muss? Oder muss ich die Capacity nach jedem neu hinzugefügten Element um 1 erweitern?
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Gyrospeter,
16. Mär 2022
Listen sind unterschiedlich groß, je nach Komplexität des Polygons. Kann aus 5 Einträgen bestehen, kann aber auch aus 5000 Einträgen bestehen. Siehe mein Code-Beispiel darüber, bei denen ich einfach testweise die Listen befüllt habe.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Gyrospeter,
16. Mär 2022
Da habe ich ganz stumpf Integer als kleine Testung hart in die Listen eingetragen und je nachdem einen bis mehrere Werte geändert damit sich die Polygone unterscheiden:
procedure TCADVecListHelperMainFrm.FillBothLists;
var
LRecord,ChangedRec: TCadVec3;
i: Integer;
begin
// Fülle beide Listen mit random default Werten.
if (FFirstCADList <> nil) and (FSecondCADList <> nil) and...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Gyrospeter,
15. Mär 2022
Guten Abend werte Delphi-Gemeinde,
nun ist es für mich auch soweit, ich befinde mich gerade in den Vorbereitungen meines Abschlussprojektes und dabei geht es um Umgestaltung bzw. das effizienter Gestalten eines schon vorhandenen bzw. schon vorhandener Algorithmen.
Hierbei wird Wert auf die Laufzeit-, Speichereffizienz und kognitive Effizienz als drei Hauptkriterien gelegt.
Vorab, die...