Newsgroup: it.comp.macintosh
Titolo: Java urban performance legends

"There was a funny incident at a recent developer event where some folks
had a booth where they where demo-ing a high end industrial strength C
compiler and had a benchmark that they had transliterated into Java.
They were comparing their compiler to GCC and Java. GCC was running at
about 2/3 the performance of this high end compiler; the Java version
was running at about 2/3 the performance of the GCC version. Folks were
gathered around the booth and someone noticed that the script they were
using to run the Java version didn't have optimisation turned on. A few
seconds with vi to add the "-server" switch and Java's performance
jumped up to match the fancy C compiler. This got the pro-GCC crowd all
excited, so a bunch of them started fiddling with its command line
switches. They got a bit of improvement, but not much (the original
selection had been pretty good)."
http://snipurl.com/k1ko



Il problema di java e' che ha bisogno di una VM sotto, e quindi un
programma scritto in java ha bisogno di piu' risorse per funzionare
rispetto ad uno scritto in C (C++).
Ma una volta che il programma e' caricato in memoria (e quindi il codice
e' interpretato completamente dalla VM) la velocita' di esecuzione e'
comparabile a quella di un programma in C++ (dico C++ perche' e' ad
oggetti, e ci sono delle cose che fa in runtime come java).
Ad esempio:
t0 = time();
a = 0;
for(i=0;i++;i<1000)
{
   a++;
}
t1 = time();
printf("delta t: %f",t1-t0);  [1]
scritto in C o in java ci mettera' piu' o meno lo stesso tempo (i delta
t saranno comparabili), anche se magari in java ci mette di piu' a
partire (se deve caricare la VM).
Java rallenta di brutto (parlo per esperienza) quando deve gestire la
grafica.
Spero di non aver detto cazzate immani.
Ciao Jack
[1]: ovviamente time() e printf() hanno bisogno dei corrispettivi in
java (printf() => println(), time() => ???)
-- 
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?

 Spero di non aver detto cazzate immani.
Tieniti forte... <g>
"There is no game being built today in the PC space, that couldn't be
done using Java."
///
"Sun Microsystem's chief gaming officer Chris Melissinos tells Next
Generation why he believes Java will become the programming language of
choice for game developers in the coming years."
http://snipurl.com/k4wv

 "Sun Microsystem's chief gaming officer Chris Melissinos
Be', insomma... Chiedere all'oste com'e' il vino...
-- 
       maurizio - 
www.maurizio-marra.com
- lc8 adv "big orange" - exc 450 "orangina" -
           - cb 750 four ss "'76er" -

 wrote:
Mah, per ora vedo piu' giochi scritti in falsh che in java...
Poi e' vero che con Java3D acceleri mostruosamente la grafica, ma java3D
AFAIK e' una libreria wrapper (si dice cosi?) per usare opengl con java.
E' un po' come usare la JNI, velocizzi il codice, ma non e' piu'
portabile (devi ricompilare il codice non java incluso tramite la jni
per ogni piattaforma). E questo IHMO non e' piu' java.
Oltretutto se non sbaglio java3D non esiste per mac...
Ciao Jack


 Be', insomma...
University of Calgary White Paper:
http://java.sun.com/products/java-media/3D/calgary.whitepaper.pdf
Java 3D Application Examples:
http://java.sun.com/products/java-media/3D/in_action/application.html
Java 3D API In Action:
http://java.sun.com/products/java-media/3D/in_action/index.html


OK, OK... Voleva essere una battuta...
BTW, continui a citare la stessa "osteria", anche se viene riportata una 
relazione di una universita' Canadese (che come negli USA hanno dei bei 
rapporti commerciali con le aziende...)


 Oltretutto se non sbaglio java3D non esiste per mac...
In Tiger, Java3D e JavaAI (Advanced Imaging) sono integrati
nel pacchetto base di Java e non vanno più installati a parte
(v. /System/Library/Java/Extensions/ ).
Si può sperimentare seriamente anche con JOGL e LWGL: col primo
un po' meno (Looking Glass, infatti, ancora non gira su Mac).

 Oltretutto se non sbaglio java3D non esiste per mac...
C'e' per 1.3.1.
 - ∞



Vedi risposta di Guido...


 wrote:

Ok, ho sbagliato :(


 grafica.
Ah si!?Che tipo di esperienza hai fatto a livello di grafica?
Io non l'ho trovato lento anzi..Certo se hai avuto a che fare con Swing è un
altro discorso ma la non parliamo di grafica...:-D
Raudo
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Spero di non aver detto cazzate immani.
No infatti Java e' tipizzato e questo gli permette di girare ad una
certa velocita'.
In generale Java e' lentissimo quando la VM deve interagire con il mondo
esterno. Sia quindi con le GUI sia anche con accesso a file e risorse
varie dell'OS. Nel puro calcolo pero' non ci sono particolari OH di
velocita'.
-- 
Ciao
Fabio

: "We have based our
development on the combination of LWJGL and Java, which allows the game
to run on any LWJGL supported platform without modifications and at a
speed comparable to platform-dependent native code."

 
dipende anche come è stato implementato java. mai visto questo link?
http://segal.org/java/CanvasTable3/index.html
f.
-- 
http://loscimmiotto.splinder.com/