Сортировка слиянием revisited
newsare.net
Три года назад я опубликовал статью Сортировка слиянием — не так просто, как кажется, в которой решал задачу с собеседования, как построчно оСортировка слиянием revisited
Три года назад я опубликовал статью Сортировка слиянием — не так просто, как кажется, в которой решал задачу с собеседования, как построчно отсортировать огромный текстовый файл, который заведомо не влезает в оперативную память.Формат строки: число, точка, пробел, далее любые символы до конца строки.Порядок сортировки: сначала сортируем текстовой части строки, потом по числу если текстовые части совпадают.Кодировка: UTF-8, сортировка с учетом локали.Размер файла: 100гб — гарантированно больше объема ОП.Должно отработать менее чем за час на HDD.Прошлая версия, которую я написал еще на .NET 7, справлялась за 32 минуты на моем компьютере. Большую часть времени занимало чтение-запись файлов, поэтому так применялись сжатие, параллельная обработка сортировки и ввода-вывода, а таже низкоуровневые манипуляции с массивом байт для уменьшения аллокаций. Что еще можно оптимизировать Read more












