Danke Euch für Eure Vorschläge!
Die Lösung mit
s.split()
macht bisher einen guten Eindruck. Die Lösung von Thomas / mytbo werde ich noch prüfen
Zu den spezifischen Anforderungen wäre nur noch zu sagen:
- ich lade zzt eine Liste mit min 50M, max 100M, kommaseparierten (
CSV) Einträgen vorberechnteter / vordefinierter Strings aus einer *.zip- Resource
- Ziel: es ist im Anschluss zu prüfen ob ein bestimmter Wert in dieser/n Liste/n vorkommt. Daher (denke ich) müsste ich die Resource bei programmstart durchsuchbar laden
- ich hatte überlegt, zwecks Speicherreduktion die Werte in einem (Binary-)Trie zu speichern (hier werden nicht die kompletten Strings gespeichert) statt in einer Stringlist / Tlist<>. Allerdings muss ich da noch überprüfen, inwiefern da die Geschwindigkeitseinbüßen zum durchsuchen meines Tries relevant sind.
-Ggf hatte ich überlegt, direkt auf Datenbank umzusteigen
Die Resourcen sind derzeit in einem Zip archiv (einzelne *.txt files) hinterlegt, Gäbe es hier eine Möglichkeit, ggf direkt auf den Zipstream zuzugreifen und darin zu suchen - statt extraktion/ übertragung von dort, oder macht das eher keinen Sinn?
Weitere Anforderungen an Format / Speicherung gibt es vorerst keine.>
@himitsu, wahrscheinlich wird es nicht direkt ersichtlich, wie viele Einträge geladen werden. Das könnte ich allerdings hierzu noch anpassen, um die capacity zu setzen