Hace tan sólo unos días Google liberó la OTA y los binarios de Android 5.1 Lollipop para los dispositivos Nexus. Nosotros hace casi nada también publicamos un video en el que un viejo Nexus 5 con Android 5.1 derrotaba al nuevo-nuevísimo iPhone 6 de Apple. Los resultados con Android 5.1 según se lee por todos lados son lo mejor de lo mejor; especialmente en los Nexus 6, y es que los usuarios del último buque insignia de Google están reportando y alabando que sus Nexus 6 con Android 5.1 corren extremadamente rápido, y no exageramos. Sólo vean este video:


Sí, el nuevo Android 5.1 está causando furor, y es que podrá ésta ser una versión menor, pero los resultados hacen pensar mas bien que internamente y a nivel de código es una versión mayor debido al gran salto en el rendimiento; hay mejoras tanto en la máquina virtual ART como en el scheduler, es decir, en el kernel mismo. Ah, y se corrigió el grave problema de las fugas de memoria o memory leak.

Vamos a ahondar más: Francisco Franco, desarrollador de la comunidad de XDA Developers, ha examinado el código de Android y nos explica qué ha hecho Google y centra su atención en el Nexus 6, que como ya dijimos anteriormente, ha visto disparado su rendimiento y fluidez exponencialmente.

Android 5.1, además de todas las mejoras en ART y la posibilidad de que hayan limpiado y mejorado todo el código del framework tiene un cambio muy importante en el Nexus 6: ahora tiene sus cuatro núcleos funcionando siempre, lo que ayuda enormemente al task scheduler a distribuir la carga de trabajo a través de todos los núcleos del procesador, dando al usuario la percepción de no tener un dispositivo con esperas, o tardando en responder...


Para entendernos mejor en esto de las entrañas del androide, el scheduler es un módulo del kernel que se encarga de gestionar la planificación, ejecución y priorización de los procesos de Android; es un trabajo ingente el del scheduler. Mejorarlo no es cosa de un día o un año. En Linux se tardó varios años en encontrar un scheduler que funcionara tan bien como el actual planificador CFQ. Y se nota que Google trabaja arduamente por mejorarlo.

Bien, sobre el tema de la CPU, sabemos que el hecho de que el kernel de Android 5.1 mantenga en uso siempre los cuatro núcleos del Nexus 6 no tiene impacto alguno en la batería. Dejemos que el bueno de Franco nos lo explique:

Google ha deshabilitado sus rutinas de impulso de migración a otro hilo - si no sabes qué es, es un driver desarrollado por Qualcomm. Inc, que al recibir una notificación del task scheduler cuando un hilo de ejecución migra de un núcleo del procesador a otro, minimiza el lag que pueda percibir el usuario incrementando la frecuencia de trabajo del núcleo destino a la misma o mayor velocidad que el núcleo en el que originalmente se desarrollaba su carga de trabajo.
1. El hilo de ejecución pasa de núcleo (cpu0) al núcleo (cpu2). (por ejemplo)
2. El driver recibe la notificación de lo ocurrido.
3. Este driver lee la frecuencia actual a la que trabaja (cpu0).
4. Si la frecuencia actual de (cpu2) es menor que la frecuencia de (cpu0) en ese preciso instante, aumenta la frecuencia de (cpu2) a esa frecuencia. Si la frecuencia es menor que la frecuencia threshold (1.7Ghz), aumenta la velocidad a esa frecuencia.
 
Estas migraciones de hilo a diferentes núcleos ocurren docenas de veces por segundo. Uno de los cambios que realicé en mi kernel, Franco Kernel, fue deshabilitar este driver para conservar batería ya que con el chip del Nexus 6 no creo que sea necesario. Estoy seguro de que Google ha realizado cálculos de consumo y determinado que los beneficios del driver no compensan las perdidas en autonomía, así que han decidido deshabilitarlo y yo les aplaudo por ello.

Por otro lado, los usuarios que llevan usando Android 5.1 también están dando cuentas que el problema de memory leak que aquejaba a Lollipop ya ha sido solucionado. ¿Qué es el dichoso memory leak y cómo ocurre? Pues una fuga de memoria ocurre cuando Android asigna una cierta cantidad de memoria a una tarea y luego no la devuelve. Lo que ocurre con Lollipop —hasta ahora— es que el sistema con el tiempo va reteniendo anormalmente la memoria y al no liberarla llega un momento en que sin importar que tengamos 2 o 3 GB de RAM, el sistema se va a quedar sin memoria, y eso no es para nada bueno. Quien haya tenido una de esas viejas PCs con poca memoria sabe que en cuanto se queda corta es un dolor de muelas. En Android, el sistema al quedarse sin memoria empieza a matar los procesos, causando cierres inesperados. Por lo que se sabe, felizmente este grave problema ya es historia.

Al parecer todo son hurras en la nueva versión de Android y los que tenemos un Nexus —o un Motorola— nos alegramos mucho ya que muy pronto recibiremos la OTA.

Fuente: Hipertextual

Publicar un comentario

César Barrantes

{picture#https://2.bp.blogspot.com/-87jyLDIFZTM/WBFboqQGR4I/AAAAAAAAb5I/6-1SbCa-kx8owN3AsTVvNL0Gr7qlhE6WACLcB/s200/cesar-barrantes-renderizado-01.jpg} Cinéfilo, carnavalero, amante de la buena música y friki a tiempo completo. "Algo suena en mí y es mejor que una canción; el arte es sobretodo un estado del alma". {facebook#https://www.facebook.com/cesar.barrantes.7} {google#https://plus.google.com/115915750931228352631} {youtube#https://www.youtube.com/channel/UCp_z0l2keVLXFRwUPa35RtQ}

Rolo Nieves

{picture#https://4.bp.blogspot.com/-kvtvyd4PBp0/WBFbYZsq7UI/AAAAAAAAb5A/YuK4RXgt9ugsti8HLUZgmHBBPMvNj9rBwCLcB/s200/rolo-nieves-renderizado-01.jpg} Amante de la informática, apasionado del software libre, GNU/Linux, el rock progresivo y usuario sin remedio de Android. Cada aspecto de mi vida es psicodélico. {facebook#https://www.facebook.com/LeMoktar} {google#https://www.google.com/+RoloNieves}
Con tecnología de Blogger.