El lun, 23-10-2006 a las 17:36 +0200, Rodrigo Fuentealba escribió:
> El 23/10/06, Alvaro Herrera<[EMAIL PROTECTED]> escribió:
> > Rodrigo Fuentealba escribió:
> >
> > > Es más lento desde el punto de vista de ser interpretado en vez de
> > > compilado, pero definitivamente prefiero tener un programa de 10 Kb
> > > interpretado en memoria que uno de 10 Mb compilado...
> >
> > <sarcasmo>
> > Obvio ... es mucho mas conveniente interpretar N veces por segundo un
> > script de 10 kB que requiere un interprete de 10 MB, que ejecutar un
> > programa de 10 MB.
> > </>
>
> ...que en el caso de compararlo con Java, requiere de una maquina
> virtual que sepa Dios cuánto te va a consumir en memoria. En todo
> caso, si me dieran a elegir entre PHP para Web y otro lenguaje como
> Qt, C, C++, Python, Perl o wxWidgets... mi elección no sería PHP.
>
> <sarcasmo>
> ...para peor, Dios no sabe Java ni sabe de memoria...
> </>
Pero en vez de hacer suposiciones antojadizas por que no vemos los
numeros reales en vez de tirar cortinas de humo, veamos solo el uso de
la maquina virtual con una aplicacion que no hace nada
[EMAIL PROTECTED]:~$ cat Test.java
public class Test {
public static void main(String args[]) throws Exception {
while(true) {
Thread.currentThread().sleep(5000);
}
}
}
[EMAIL PROTECTED]:~$ javac Test.java
[EMAIL PROTECTED]:~$ java Test
[1]+ Stopped java Test
[EMAIL PROTECTED]:~$ ps aux | grep java
fcatrin 6994 3.1 1.5 215680 7900 pts/1 Tl 14:42 0:00 java
Test
[EMAIL PROTECTED]:~$
ohh sorpresa... ocupa casi 8MB de memoria RAM, y tiene mapeado un poco
mas de 200M, seguramente heap inicial + core libraries, de esta forma
evita pedir memoria de a pedacitos cuando necesite.
[EMAIL PROTECTED]:~$ ps aux | grep fire
fcatrin 6543 0.4 6.3 97732 32336 ? Sl 14:24
0:04 /usr/lib/firefox/firefox-bin
Firefox me esta ocupando mas ram que la maquina virtual
Levantemos ahora un servidor de aplicaciones con algunas aplicaciones
andando, ademas de pool de conexiones a bases de dato, colas de
mensajes, etc.
[EMAIL PROTECTED]:~/oc4j$ java -jar oc4j.jar
06/10/23 14:46:25 Oracle Application Server Containers for J2EE 10g
(9.0.4.0.0) initialized
[2]+ Stopped java -jar oc4j.jar
[EMAIL PROTECTED]:~/oc4j$ ps aux | grep java
fcatrin 7022 8.6 6.2 263468 31884 pts/1 Tl 14:46 0:03 java
-jar oc4j.jar
Con todo listo para operar tenemos casi 32MB de memoria ocupada, y
mapeado un poco mas de 256MB, y con esto ya podemos hacer aplicaciones
escalables, distribuidas, etc.
Como decia Horst.. el hardware es mucho mas barato que las HH, en mi PC
aun tengo 480MB para jugar
Saludos
--
Franco Catrin L. TUXPAN
http://www.tuxpan.com/fcatrin