У меня есть консольное приложение на Swift3, что читать построчно из очень большого file.txt (~ 200GB):Swift многопоточности консольного приложение
guard let reader = LineReader(path: "/Path/to/file.txt") else { return; }
for line in reader {
// do something with each line
}
Это занимает около 8+ часов, чтобы прочитать все данные из файла. Мой сервер имеет 6 аппаратных ядер, как читать этот файл в 6 потоках?
LineReader здесь: https://github.com/andrewwoz/LineReader
PS. Файлы с начала разделяются на 1 ГБ на файл.
Обновленный вопрос. –
Шаг 1: не создавайте файлы в формате 200gb – Alexander
Для многопоточности вам потребуется безопасный способ разделения файла на несколько фрагментов, которые будут обрабатываться отдельно. Возможно, это макет вашего файла? – Alexander