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