Déjame decirte una cosa primero. C ++ es más rápido que las llamadas Objective-C. Objective-C utiliza sistemas de paso de mensajes, por lo que tendrá una sobrecarga de tiempo de ejecución en comparación con C ++. Solo eche un vistazo a algunas de las comparaciones aquí .
Al llegar al desarrollo general de "aplicaciones" de iOS, tiene sentido utilizar las funciones integradas de Objective-C ya que el rendimiento no puede ser un criterio demasiado importante en cierta medida. Pero en el desarrollo del juego, debemos considerar estos resultados.
Cuando estaba trabajando en mi proyecto anterior (Robokill), optimizamos la mayor parte del código donde sea necesario con llamadas simples (convertimos nuestra clase de partículas Objective-C a una clase C ++). O incluso puede usar las funciones de tiempo de ejecución Objective-C para llamadas directas en C.
En cuanto a su pregunta, aquí está mi respuesta: sí, STL está bien optimizado para su propósito . Aunque el código de implementación no es muy legible, es interesante verificar la implementación una vez.
Sin embargo, podemos optimizar el código de Objecive-C hasta cierto punto, almacenando previamente los punteros de la función y haciendo llamadas con el tiempo de ejecución de Objective-C.
¡Espero que esto ayude!