Ответ 1
Производительность в iOS Simulator, как ожидается, не будет соответствовать производительности на устройстве. IOS Simulator предназначен как инструмент для быстрого прототипирования и быстрой итерации. Настройка производительности должна выполняться на реальных устройствах.
Процессы, выполняемые в iOS-симуляторе, - это в основном процессы OS X, выполняемые в специально созданной среде выполнения в специальном бутстрапе, чтобы вести себя как iOS, а не OS X. За последние 4 года это произошло в основном из UIKit и аналогичных iOS-структур, построенных поверх OS X Frameworks теперь имеется собственный сервер начальной загрузки (с iOS 7), наш собственный dyld (с iOS 8) и разделяет только ядро хоста и системные библиотеки очень низкого уровня (libSystem с iOS 7 и просто pthreads, syscalls и дети платформы libSystem с iOS 8).
Когда вы тестируете приложение на устройстве, которое в настоящее время не загружается, мы завершаем работу устройства и загружаем новый, и этот процесс может занять от 10 секунд до минуты или 2 до завершения, основываясь главным образом на вашей пропускной способности ввода-вывода на диске и какие другие задачи в вашей системе требуют от него.
Если вы видите основные проблемы с производительностью на SIM-устройстве, которое некоторое время загружалось и не выполнялось каких-либо очевидных фоновых задач (компиляция, rsync, что угодно), используйте sysdiagnose и посмотрите на процессы симулятора в спин-дамп и fs_usage, чтобы увидеть, что может произойти.