2012-08-28 24 views
6

He estado programando durante unos dos años (android y java durante unos meses), pero todavía no sé realmente qué impacto tienen el procesador (velocidad y núcleos) y la cantidad de RAM en la "experiencia de programación" (tiempo de compilación, capacidad de respuesta de las herramientas, flujo de trabajo general, etc.).¿Cómo la CPU y la memoria son intensivas en el desarrollo de Android?

(si se me permite) para ser específico (de lo contrario, ignórelo): estoy a punto de comprar un MacBook Pro de 13 "y tratar de decidir entre el i5 (2,5 GHz de doble núcleo) y el i7 (2,9 GHz Dual-Core) y encontrar esto difícil

+1

Lleve la computadora que está utilizando actualmente y haga algunos puntos de referencia, por ejemplo, tiempo de compilación. A continuación, desactive la CPU y desactive algunos núcleos en la BIOS. Ejecuta los puntos de referencia nuevamente. Eso debería darte una buena sensación para las cosas. –

+1

@DanielKinsman: lo único que subclona a la CPU te dice que es lo que se siente al trabajar con una CPU sub-bloqueada; ni siquiera le dirá cómo se sentiría trabajar con una máquina más antigua, y mucho menos predecir su futura máquina. –

Respuesta

3

No programo en Android a menudo, o incluso uso Eclipse regularmente, pero sé que en mi vieja computadora portátil de 1GB, Eclipse tarda una eternidad en cargar y es muy lento, mientras que se carga casi al instante con mi nuevo 8GB, es casi perfecto sin problemas. Pero la única diferencia en las dos laptops no es solo la RAM o la CPU, la vieja laptop está girando un disco de 5400rpm mientras mi nuevo uno usa chips sólidos.

Específicamente con Android develo Sin embargo, ejecutará el emulador y probablemente múltiples instancias del emulador al mismo tiempo. Estos emuladores están muy hambrientos de memoria, y Eclipse tampoco es liviano por ninguna medida. Nunca querrá cambiar, el intercambio solo existe, por lo que el sistema no comenzará a matar procesos si alguna vez se queda sin memoria, pero no desea que se llene con nada con el uso diario. Si su sistema comienza a intercambiar, esa es la señal de que necesita más memoria RAM.

En mi experiencia personal, las RAM más grandes y más rápidas generalmente contribuyen a la capacidad de respuesta mejor que las CPU más rápidas (aunque aún se necesita obtener al menos una CPU de rango medio); la compilación suele estar vinculada a E/S (aunque esto puede ser diferente según la base de código) por lo que es mejor si el SO puede mantener todos los archivos con los que está trabajando actualmente en caché de disco en la RAM y para los tiempos de carga que desea disco duro (o mejor aún, un disco SSD, ya que el disco duro rápido es mucho más ruidoso, tiene muchas más vibraciones y batería, lo que a veces es aceptable para una torre de escritorio debajo de su escritorio, pero no para una computadora portátil).

Otra consideración importante son las características de ahorro de energía en la CPU y la duración de la batería si va a utilizarla en el camino; el peso, la pantalla y el tamaño del teclado, la "sensación" del touchpad (es demasiado resbaladizo, demasiado rugoso, etc.), una vez que te acostumbras, el touchpad es mucho más rápido y cómodo que el mouse, ya que está mucho más cerca del teclado). No solo compare los números.

4

Tengo tres computadoras de desarrollo. Un Dell Latitude con i7, 8GB ram y un SSD con Windows 7. El otro es un 17 'i7, 8GB ram, SSD Macbook Pro con OS X. El último es un antiguo HP pequeño factor de forma, Core2Duo, 2GB ram y un HDD lento.

Los tres están bien para Eclipse, y NONE ejecutará el emulador tan rápido como yo quiera. El emulador es lento, incluso en una computadora portátil de $ 3000: la diferencia entre i5 e i7 no será tan grande.

Si yo fuera usted, optaría por el más barato de ellos, e invertiría en un teléfono Android decente para ejecutar el software.

Cuestiones relacionadas