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.
1 Mio. Strings zerlegen, speichern, indexieren, zählen
-
- 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
Liebe Grüße
turbo
turbo
-
- 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
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...
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;
-
- 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
das war anders gemeintMAC 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...
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
turbo