Коллеги,
В настоящее время я работаю над эмулятором PowerPC, написанным на C ++. Чтобы оценить его производительность, я использую std :: chrono: high_resolution_clock для измерения времени выполнения блока гостевого кода, для которого известно количество циклов ЦП. Соответствующий код находится здесь: https://github.com/maximumspatium/dingusppc/commit/11b4e99376e23f46f4cd8ee6223c5788ab963a37
Во время выполнения вышеуказанных тестов я заметил, что мой MacBook Pro сообщает разные цифры в зависимости от загрузки процессора. То есть, когда я запускаю приведенный выше код с незанятым ЦП, я получаю около 230000 нс времени выполнения, в то время как с сильно нагруженным ЦП (например, обучение нейронной сети) я получаю гораздо лучшую производительность (<70000 нс). </p>
Полагаю, это связано с потоками и расписанием в macOS. Я хотел бы использовать полную мощность процессора в моем эмуляторе. Есть ли способ изменить производительность потока, чтобы он работал на полной скорости, так же, как это происходит, когда процессор работает под большой нагрузкой?
Заранее спасибо!
PS: машина, о которой идет речьMacBook Pro 17´´ середины 2010 года с 2,53 ГГц процессором Intel Core i5 и 8 ГБ ОЗУ под управлением MacOS 10.13.6.