sábado, enero 22, 2011

Mejorar o aumentar la velocidad rendimiento de Java - JNode

Muchos hemos escuchado que java es lento, muy lento, y su principal argumento es que es interpretado, como: No saber koreano, vivir y trabajar en Korea y depender siempre de un traductor para poder comunicares.

A pesar de esta critica java ha mejorado mucho, poniéndose casi a lar de los programas nativos para el S.O. respectivo, ¿se imaginan que pasaría si fuese nativo?, seria mas rápido que los demás.

Si tanta es la critica, ¿que me dicen de Visual Basic? hay que instalar VBRuntimes para que pueda ser entendido en Ventanitas, y mas ahora con .NET, copia de Java, ahora todo debe ser interpretado.

A Microsoft le paso lo mismo que a PHP, criticaba tanto  los programas OOP, presumía de ser mas rápido y sencillo, y ahora en sus versiones mas recientes debió volverse mas completo y OO.

Entonces, ¿Como hacemos que java sea mas rápido?

1 Lo primero que me imagine fue imprimir la maquina JVM en un chip y agregarselo a la tarjeta madre, piensa, piensa, piensa..., mmm, puede ser.

2 Lo segundo, algo parecido, imprimir la JVM en una card y agregarla como componte sea via PCi o xPCI o BUS.

Ambas me parecen viables, pero, porque parar ahí? Que pasaría si tuviese un sistema operativo propio para java, echo en java, por y para java? significaría que java es nativo, no necesita interpretar algo, seria super rápido, ideal para servidores.

El famosos Java Desktop de Sun no me convenció total era un tipo Unix con JVM enlazada al kernel, a un nivel superior, con Gnome, nah, no me gusta.

Estaba el proyecto Looking Glass 3D, se miraba prometedor, pero lo sentí muy lento, ahora esta abandonado.

Buscando chips o integrados que soporten java nativamente ecuentro que solo el modelo J de los procesadores ARM http://es.wikipedia.org/wiki/ARM.

Buscando solución de software
Se me ocurrió que podría integrar el OpenJDK en el kernel de Linux, compilar y listo, pero buscando encontré JNode, JNode se hace llamar sistema operativo 100% echo por y para java.

JNode es proyecto ya algo viejo, yo aun no lo conocía. JNODE para poder funcionar toma algunas cosas de otro mundo como el un microkernel en ensamblador, pero por lo demás es 100% java, todo, todo es mas rapido.

JNode
sitio web: http://www.jnode.org/
ultima liberacion: Febrero 2009
Licencia: GPL
Status: Activo
Kernel: microKernel en ensamblador
sistema Boot: Yep
Boot: GRUB
ClassPath: GNU ClassPath
JVM: OpenJDK
ISO live disponible: Yep



Como funciona.
El micro-kernel se encarga de capturar las interrupciones que se las pasa a administrador de java que las enlaza con el hilo que le corresponde.

Los drivers y demás componentes se adhieren como plugin para el kernel.

Observaciones
Este proyecto se mira interesante pero también genera ciertas preguntas como:
¿La seguridad como esta?
¿los drivers ? de vídeo, de sonido, efectos 3D?
Hay muchos a favor y muchos en contra, pero lo cierto es, que es un cambio muy difícil donde se han metido estos chicos.


Conclusión:
Considerando que Linux esta mas maduro como S.O. completo y seguro, creo que por ahora me agrada mas la idea de meter el OpenJDK dentro del kernel de Linux.

Si logro hacer esto, estaré muy contento y luego sera hora de los BenchMark.


Update: (2012)
Solucion (LOL):

Related Posts Plugin for WordPress, Blogger...

POST MAS populares