Мне потребовалось добавить экзотический формат изображения в проект. Клиент предоставил только библиотеку c ++. Библиотека выполняет свою работу крайне медленно после компиляции в проекте преимущественно Objective-C (то есть в проекте со всем остальным кодом в target-c)
Я сравнил производительность с реализациями c ++ на Mac и ПК, портированной реализацией C # с ПК - все на компьютерах, похожих друг на друга (с точки зрения использования процессора и памяти). Низкая производительность наблюдается только в проекте Objective-C, гораздо более очевидном на устройстве, чем на симуляторе. Я бы ожидал, что цена устройства меньше (чем Mac / PC) устройства (iPad) не изменится с 0,2 секунды анализа изображения в симуляторе до ошеломляющих 2,4 секунды на изображение на устройстве!
Весь ли код на С ++, добавленный в проект Objective-C, работает так медленно?
Изменены все типы компиляторов, множество настроек компилятора. Кроме того, профилирование по времени для реализации кода c ++ отнимает огромное количество времени на тривиальные действия (простые инструкции, такие как ++ и + =).
Как мне подойти к этому, чтобы поднять производительность библиотеки c ++ до разумного уровня в рамках проекта target-c?