[PDF] Сортировка страниц по их размерам

поставь ntime и считай им. как раз будет видно, сколько ушло на системные вызовы, а сколько процессорного времени. ну и на 1 и все процы.
 
вот обновленная версия отработала
~RA~
sort_pages_windows
88,5906176
да, заметно ускорилась. Но все равно медленнее моей.
Но проблема не в этом. Я не понимаю таких отличий в работе на разных компах
1775920123277.png
 
у тебя линуксовая обновлена?
под wsl попробовать обе
 
Все обновлены. Я скриптом собираю.
 
6 воркеров
total_duration_ms 82046
4
total_duration_ms 80445
3
total_duration_ms 84148
 
1775920802997.png
 
а вот 1
total_duration_ms 128304

И сумма по всем - 126602
так что все выглядит вполне точным
 
а первый набор значений и второй - это что?
 
У меня твой жужжит на 4 ядрах, загружая их под завязку.
 
а первый набор значений и второй - это что?

Это стандартный вывод команды time в Linux/Unix, который показывает, на что было потрачено время при выполнении программы:
  • real (2м 11с): «Стенное» время. Столько времени прошло по твоим часам от старта до завершения команды.
  • user (7м 38с): Чистое время работы процессора над твоим кодом. Оно больше, чем real, потому что программа работала в несколько потоков (параллельно) на разных ядрах процессора.
  • sys (0м 10с): Время, которое процессор потратил на системные вызовы (ядро ОС), например, на чтение файлов или выделение памяти.
Итог: Твоя программа работала очень эффективно на многоядерном процессоре — она выполнила объем работы на 7+ минут всего за 2 минуты реального времени.
 
да, у меня тоже до 90% отъедает по умолчанию
 
фактически получается, что у меня первый real в районе 82 секунд. Но юзертайм у меня всего в полтора раза больше получается, а не в 4. ничего не понимаю
 
1775921244858.png

вот эти значения тогда что такое?
 

Не по теме:

Ещё пара подобных тем, и вы спровоцируете появление нового раздела для разработчиков ;)
А там, глядишь, и Нью-Васюки со всем из них вытекающим '))'

 
Я одной командой последовательно запустил сначала свою программу
time ./sort_pages PDFs/all.pdf
а потом твою
time ./pdfsizes sr PDFs/all.pdf

Первые измерения работы моей программы
Код:
real    0m28.408s
user    1m43.836s
sys    0m2.053s
а вторые твоей
Код:
real    2m11.550s
user    7m38.399s
sys    0m10.439s
Результат такой же, как насчитала твоя программа при запуске с ключом -t
[time] split-ranges total = 133382 ms
 
Последнее редактирование:
твое
time ./sort_pages_linux all.pdf
Обработка файла: all.pdf
Чтение файла в память (может занять время и много RAM)...
Анализ страниц и получение размеров...
Найдено 1593 страниц. Группировка по размерам...
Найдено 31 уникальных размеров страниц.
Запуск 4 воркеров для параллельной обработки...
Запись файла отчета...
Обработка завершена для: all.pdf
Отчет создан: all_report.txt

real 1m38.870s
user 5m45.434s
sys 0m22.778s
Мое
time ./pdfsizes sf all.pdf

real 1m24.077s
user 4m51.643s
sys 0m15.375s
я фиг знаю :)