1 Mio. Strings zerlegen, speichern, indexieren, zählen

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
turbo
Lazarusforum e. V.
Beiträge: 99
Registriert: Mo 6. Feb 2012, 17:20
OS, Lazarus, FPC: ubuntu 10.10, L 0.9.28.2, FPC 2.4.0
CPU-Target: x86_64
Wohnort: Oldenburg (Oldb)

Re: 1 Mio. Strings zerlegen, speichern, indexieren, zählen

Beitrag von turbo »

Moin,

ich werde mich nicht auf die Suche nach einer gut dokumentierten Memory Maped Files Lösung für Windows und Linux machen. Mein Ansatz ist, den Rechner mit ausreichend RAM auszustatten. Der aktuelle Rechner hat 24 GB RAM. Ein weiterer mit 64 GB ist in Planung. Das muss reichen.
Liebe Grüße
turbo

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: 1 Mio. Strings zerlegen, speichern, indexieren, zählen

Beitrag von MAC »

Wenn jeder String, von anfang an 255 groß ist (wieso du auch immer eine feste größe zuweisen willst...)
dann würden sich die Daten, an sich 256 Byte * 1 Mio = 256000000 Bit = 256000 kB = 2560 MB = 2,56 GB.
Wenn du jetzt nicht 22 GB brauchst um das zu strukturieren, dann sollte das kein Problem sein...

Code: Alles auswählen

Signatur := nil;

turbo
Lazarusforum e. V.
Beiträge: 99
Registriert: Mo 6. Feb 2012, 17:20
OS, Lazarus, FPC: ubuntu 10.10, L 0.9.28.2, FPC 2.4.0
CPU-Target: x86_64
Wohnort: Oldenburg (Oldb)

Re: 1 Mio. Strings zerlegen, speichern, indexieren, zählen

Beitrag von turbo »

MAC hat geschrieben:Wenn jeder String, von anfang an 255 groß ist (wieso du auch immer eine feste größe zuweisen willst...)
dann würden sich die Daten, an sich 256 Byte * 1 Mio = 256000000 Bit = 256000 kB = 2560 MB = 2,56 GB.
Wenn du jetzt nicht 22 GB brauchst um das zu strukturieren, dann sollte das kein Problem sein...
das war anders gemeint
zu zerlegen ist der String: 'abcd'
das ergibt 'abc', 'bcd' und 'abcd'

Das ergibt deutlich mehr als 2,56 GB. Das lässt sich schwer ausrechnen, weil die Länge der Strings nicht bekannt ist und es Wiederholungen gibt.
Liebe Grüße
turbo

Antworten