Compile files fuente grandes (10k + líneas) en Xcode 4.x

Tengo algunos files fuente que van desde 20,000 líneas hasta 120,000 líneas cada uno. Están hechos de funciones simples (muy largas), solo una larga serie de llamadas a methods C (en las API de Apple, por ejemplo, Quartz) y deberían ser fáciles de comstackr.

Sin embargo, Xcode tarda horas en comstackrlos, y obliga a volver a comstackr aparentemente cada vez que cambia el file xcodeproj (¿error xcode?). Además, hacer un file (para uploadlo a App Store) provoca una nueva compilation completa de todos modos.

Estos files son estúpidos, son la salida de una herramienta de generación de código y, eventualmente, puedo networkingucirlos, pero ¿hay alguna forma de hacer que el clang funcione correctamente en files de esta longitud?

Cosas que he probado:

  1. Ejecutar en modo de 32 bits – IMPOSIBLE: Apple ahora ha eliminado esta function https://stackoverflow.com/a/9791396/153422
  2. Agregue más CPU / núcleos – EFECTO NEGLIGIBLE: el clang es de un solo subprocess en la mayoría de las operaciones
  3. Agregue más RAM – EFECTO NEGLIGIBLE: 8 GB de RAM no era notablemente mejor que 2 GB de RAM (no es sorprendente: es solo un file, ¡muy poco probable que vaya a usar gigas de memory!)
  4. Agregue una unidad SSD – EFECTO PEQUEÑO: la computadora portátil con CPU ligeramente más lenta + SSD comstack ligeramente más rápido (¿10%?) Que la computadora de escritorio con una CPU ligeramente más rápida + HD normal
  5. Inhabilitar la integración SVG / GIT – SIN EFECTO: la implementación de SVN por parte de Apple es tan complicada que ya no la tenemos, para TODOS los proyectos.
  6. Deshabilitar la indexing de OS X – SMALL EFFECT: La indexing de background / background de Apple se rompe de muchas maneras. Apagarla hizo que los times de construcción fueran un poco más rápidos, pero tal vez porque hace que Xcode sea más rápido en general.

Posible enfoque:

  • Convierta su proyecto para usar makefiles usando pbxbuild
  • Llame a gmake con la opción -j [n] (intente con una buena n)

Ventajas:

  • No hay cambios en el file xcodeproj
  • Utilización de compilation paralela

Si está generando funciones realmente largas (miles de líneas de largo), quizás desee dividirlas en múltiples funciones más pequeñas.

También podría intentar configurar el nivel de optimization en -O0 o -O1.

Además, presente un informe en http://bugreporter.apple.com .