Есть ли способ определить / указать, на каком ядре работает программа M1 macOS?

#macos #apple-m1

Вопрос:

Сценарий: Я удаленно вхожу в свой M1 Mini и пытаюсь запустить скрипт Perl, который запускает длинный поток экземпляров моей (скомпилированной для arm64 C ) программы по одному за раз для целей тестирования. Поскольку для выполнения полной последовательности, безусловно, потребуются часы, я не использую скрипт Perl.

Я запустил первый тестовый запуск около 36 часов назад, и к настоящему времени он завершен примерно на треть. Это намного медленнее, чем я ожидал-в целом мои индивидуальные тесты программы показали, что эта машина работает быстрее, чем любая другая машина, которая у меня есть, и это совсем не соответствует этому.

Я задумался об этом и задался вопросом, рассматривается ли мой код как «фоновая» задача и выполняется ли он на одном из энергоэффективных ядер «Ледяной бури», а не на одном из быстрых ядер «Огненного шторма». Кто-нибудь знает, как определить, на каком ядре выполняется процесс, и/или контролировать, на каком ядре выполняется процесс?

Комментарии:

1. Если вы подозреваете, nohup что причина в этом, что, если вы попытаетесь запустить его внутри терминального мультиплексора, такого как tmux или screen?

2. Хорошая мысль, есть куча довольно очевидных экспериментов, которые я могу попытаться проверить, смогу ли я косвенно разобраться в том, что происходит. Спасибо!

3. Как бы то ни было, хотя я все еще очень заинтересован в ответе на этот вопрос, у меня, наконец, есть результаты тестового запуска, и есть одна часть кода, которая работала крайне плохо. Похоже, что у меня есть уголок моего C , который не был таким портативным, как я думал, и на первый взгляд кажется вероятным, что часть этого была намного медленнее, чем должна была быть.