Я пытался использовать команду gtime (я считаю, что это Mac OSx, эквивалентный команде времени Unix), чтобы получить время выполнения Java-программы. Но результаты кажутся запутанными:
- Загрузка ЦП показывает> 100%, даже несмотря на то, что программа не создает потоков.
- Реальное время намного меньше, чем у пользователя. время, хотя в моем коде нет многопоточности.
Вот что я получаю:
> gtime java Main
7.36user 0.29system 0: 02.11elapsed 362% ЦП (0avgtext + 0avgdata 306264maxresident) k 0 входов + 0 выходов (273major + 114934minor) pagefaults 0swaps
Как видите, загрузка ЦП составляет 362% и время пользователя (7,36 с)>> В режиме реального времени (2.11с). Кто-нибудь может объяснить, почему это так? Я использую Macbook Pro с процессором Intel® Core iM- i7-6700HQ @ 2,60 ГГц (4 ядра).
Кстати, при запуске программы «Hello World» вJava также возвращает использование процессора> 100%.
> gtime java HelloWorld
Hello World! 0.14пользователь 0.04система 0: 00.14 истекло 124% ЦП (0avgtext + 0avgdata 33668maxresident) k 0 входов + 0 выходов (0major + 10288 минор) pagefaults 0swaps