"Vlad Horsun" <[EMAIL PROTECTED]> сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED]

>> по прежнему включён. Загрузка выше 52% не поднимается. :-)

   И что из этого ?
Да ничего особенного. Резервы есть, значит.

   Ты для начала сравни время собственно сортировки и чтения с диска
соответствующей порции данных. А потом уже проценты вычисляй ;)
Чтение с диска соответствующей порции данных - от 16 секунд (для 1-й порции) до 31 сек. (для предпоследней). К концу кэш ОС забился... Время собственно сортировки - 41 секунда. Запись - 14-15 сек.

   Раз процессорная мощность используется на половину, то конечно можно
её задействовать полнее, но не таким образом
Переделал в двухпоточную, доступ к входному файлу сериализован, запись выходных файлов отдаётся на откуп ОС через асинхронный вызов. Итог: 557 сек -> 398 сек. Время сократилось на 28%. Загрузка процессора ниже 65% не падает, процентов (на глаз) 80 времени - держится на 100%. Диск молотит без остановок. В первом варианте по индикатору HDD можно было чётко видеть, какой этап (чтение/сортировка/запись) идёт. :-) Результат, конечно, не так впечатляет, как включение оптимизации компилятору... ;-)


Ответить