Pregunta

He oído que podría ser una buena idea apagar "compilar para el pulgar" en la configuración de un destino iPhone para aumentar el rendimiento. Estoy teniendo algunos problemas para encontrar este ajuste sin embargo. Ya que no pude encontrar en mi proyecto actual, decidí hacer uno nuevo (en el que podía encontrar y configurarlo), y copiar mis archivos a través de él (y también actualizar todas las bibliotecas que estoy usando al mismo tiempo, ).

Pero ahora parece que este ajuste ha disapperad de este nuevo proyecto también. No importa lo SDK elijo, simulador o dispositivo, el ajuste no se mostrará en la configuración de destino! Me parece sin embargo que aún tiene una variable llamada GCC_THUMB_SUPPORT bajo la categoría "definido por el usuario" de repente. ¿Qué es esto?

He intentado hacer un nuevo objetivo, pero el ajuste no se mostrará en la que o bien (ni siquiera GCC_THUMB_SUPPORT).

¿Fue útil?

Solución

GCC_THUMB_SUPPORT es la variable de la derecha. Sólo tienes que configurar en NO para desactivar la generación de código pulgar.
Una regla general es, para desactivarlo si su código está flotando punto :) pesada
Más sobre eso aquí .

Actualización:
El consejo para compilar para la instrucción PULGAR conjunto ya no es válido (en realidad, ya que el iPhone 3GS).

Otros consejos

He encontrado que la configuración del compilador ( "GCC 4.2 - Generación de Código", "GCC 4.2 - Idioma", etc) sólo aparecen en la información de la configuración de creación de destino ventana cuando el SDK activo se establece en dispositivos - y la categoría "definido por el usuario" sólo aparece cuando el SDK activa es simulador.

Y sí, la desactivación de la compilación del pulgar puede ser una gran ayuda para el rendimiento si usted está tratando con un montón de aritmética de punto flotante (por ejemplo, de punto flotante de procesamiento de audio). Aunque no es, por supuesto, un todo-propósito mágico de aceleración (y supuestamente código Pulgar-compilado puede correr más rápido en algunas situaciones), por lo que probablemente sólo encontrará la desactivación del pulgar útil si su código tiene ese tipo de cuello de botella.

"Compilar para el pulgar" debe bajo Target / Obtener Información / GCC 4.2 - Generación de código . Si no está ahí (Me sorprendería si no es), establece la variable definida por el usuario.

Tenga en cuenta que esto mejora el rendimiento sólo en virtud de un conjunto limitado de circunstancias que usted debe entender antes de tocar el violín con él.

El conjunto de instrucciones estándar para ARM es de 4 bytes. El uso de "Compilar para el pulgar", el compilador es capaz de utilizar las instrucciones de 2 bytes. Esto se traduce en una biblioteca mucho más pequeño, pero también uno más lento (algo discutible). Más críticamente, hay problemas con que corre bajo ARMv6. En nuestro caso, no pudimos generar una salida estable de MonoTouch (solución en MT4.0 alfa). En Xcode, se puede encontrar el ajuste haciendo clic en su destino, y mirando debajo de Construir y la búsqueda de "pulgar". El mío es bajo GCC 4.2 -. Generación de código, pero a veces está bajo LVVM GCC 4.2

Compilar para el pulgar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top