"Alexander V. Skvortsov" ...
>
> "Vlad Horsun" ...
>
> > Ты для начала сравни время собственно сортировки и чтения с диска
> > соответствующей порции данных. А потом уже проценты вычисляй ;)
> Чтение с диска соответствующей порции данных - от 16 секунд (для 1-й порции)
> до 31 сек. (для предпоследней). К концу кэш ОС забился... Время собственно
> сортировки - 41 секунда. Запись - 14-15 сек.
Чегой-то долгая у тебя сортировка.
> > Раз процессорная мощность используется на половину, то конечно можно
> > её задействовать полнее, но не таким образом
> Переделал в двухпоточную, доступ к входному файлу сериализован, запись
> выходных файлов отдаётся на откуп ОС через асинхронный вызов. Итог: 557
> сек -> 398 сек. Время сократилось на 28%. Загрузка процессора ниже 65% не
> падает, процентов (на глаз) 80 времени - держится на 100%. Диск молотит без
> остановок. В первом варианте по индикатору HDD можно было чётко видеть,
> какой этап (чтение/сортировка/запись) идёт. :-)
Звучит вроде неплохо ;) Дисковый IO замерял ?
> Результат, конечно, не так впечатляет, как включение оптимизации
> компилятору... ;-)
Есть ещё резервы в самой сортировке :)
--
Хорсун Влад