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