коллекция текстовых файлов может работать хорошо. Вы можете:
- разделите их на несколько файлов (например, по диапазону начальных символов).
- упорядочить пары соответственно (например, по номеру символа)
- и быстро / легко считывать пошагово / порциями в зависимости от ситуации.
- хорошо балансирует ресурсы между чтением файлов и использованием памяти.
- Выбор правильной кодировки для строк также может помочь (я бы начал с utf8, если он в основном в ascii).
если вам важен размер дистрибутива, вы можете сжать / распаковать эти файлы.
или вы можете просто воспользоваться этим подходом и использовать собственный сериализованный класс для представления подмножеств коллекции, если это звучит как слишком большая реализация синтаксического анализа и чтения.
если вы используете типы objc для хранения и / или анализа, то было бы хорошо, чтобы эти файлы были небольшими. если вы используете c или c ++, то это поможет профилировать приложение.
вашему набору данных потребуется до 30 МБ с использованием однобайтовой кодировки 8 бит на символ. один большой файл (опять же, упорядоченный), который вы mmap также заслуживаете рассмотрения. см [NSData initWithContentsOfMappedFile:path];
.