Autor Beitrag
ForenHeini
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28

Win XP
Delphi 7
BeitragVerfasst: Mi 31.01.07 10:35 
Moin!

Schreibe an einem kleinen Programm das innerhalb kurzer Zeit viele Strings verarbeiten soll.

Ich sag mal so:

2000 X array A
2000 X Array B

und dann noch zwei mal (bin noch nicht sicher) das gleiche zur Verarbeitung :roll:

also ca. 8000 aufgeteilt auf 4 arrays?

Geht das? Ist das nicht zuviel? Oder gibt es da Stack/Speicherüberlauf oder so was?

Was ist die maximal Anzahl die ich in einen Array packen kann oder ist das nur vom Speicher abhängig (der ja heutzutage ziemlich groß ist)?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 31.01.07 10:42 
Theoretisch ist das nur durch den Speicher begrenzt. Praktisch auch durch die Rechnerleistung, denn je nachdem was du damit machst, kann eine Operation etwas dauern. Damit meine ich jetzt nicht den Zugriff sondern bspw. das Löschen eines Elements (und Verschieben aller folgenden).

Aber grundsätzlich geht es erstmal...
nivosta
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 35



BeitragVerfasst: Mi 31.01.07 11:04 
Hier mal eine kleine Vergleichaufstellung:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
Struktur 1 024 Byte, 10 000 Elemente                                 TList                   Array
Speicherbedarf (in Byte)                                                   10 280 012         10 320 020
Array mit 10000 Elementen auf einmal anlegen                      33 300                 30 000
10 000 Elemente einzeln an ein leeres Array anhängen          34 000                44 000
Einfügen von 1000 Elementen verteilt                                     27 400         19 450 000
Löschen von 1000 Elementen verteilt                                      24 000        17 250 000
Sortieren                                                                                 72  000               73 000