Newsgroup: it.comp.java
Titolo: Le prestazioni di java

Se non erro, java è un linguaggio nato per la rete, ma adesso diventato
all-purpose; ma le prestazioni non sono cambiate(purtroppo). Secondo voi
qual'è la percentuale di velocità in più di un linguaggio come C/C++
rispetto a java? Cioè si può davvero ignorare(accettare) le prestazioni di
questo ottimo linguaggio?
Grazie.

) ha detto:

Inaccettabile direi. Basta vedere quanto una stupida applet java
rallenta il computer..
--
***************************************
ATTENZIONE: AGGIORNATE IL MIO INDIRIZZO!
"
bald...@libero.it
,
bal...@wappi.com
"
metti nel "SEND TO" tutto quello tra le ""
***************************************
http://baldo.freeweb.org
(FAQ sulleTemperature, Requiem Info,
VolanteArtigianale, Monkey3:Solution)
****************************************
DVD visti: Matrix, Il 13th Piano,
Godzilla, EyesWideShut, Urban Legend e 
Fallen (un capolavoro!), Ronin e
ExtremeMeasures.
http://www.it.ciao.com/bin/it/PublicAccount.po?id=139928&JServSessionIdzone=p42EkJKvjDoK8r4dP4-_xTwD.JS5
Le mie recensioni su Ciao!

 rallenta il computer..
Vorrei precisare alcune cose. Quando si  parla delle prestazioni di Java
bisogna differenziare prima di tutto quello che concerne la Java Virtual
Machine e quello che concerne il linguaggio stesso.
Le applet sono lente perché la JVM integrata nei navigatori é lenta e
mangia-risorse, il linguaggio centra poco (se si eccettano alcune librerie,
specialmente quelle grafiche che non sono il massimo della velocità).
Dei test sono stati fatti confrontando Java (con la JVM HotSpot ancora in
beta) e C++ per delle applicazioni (non applet e non grafiche). Ebbene,
anche a mia sorpresa, Java non aveva niente da invidiare a C++ e usciva
nettamente vincitore in alcuni tipi di test.
Se leggete l'inglese andate a dare un'occhiata a questo articolo:
 
http://www.aceshardware.com/Spades/read.php?article_id=153
se non lo leggete potete sempre dare un'occhiata ai grafici. Noterete in
particolare che un programma compilato con Visual C++ é quasi sempre piu'
lento di un programma Java...
Per concludere, la mia opinione é che quello della lentezza di Java é un
mito. Molti sono ancora rimasti all'equazione Java = applet, dunque
considerano che se le applet sono lente allora Java é lento. Ricordiamoci
che i navigatori sono rimasti alla versione 1.1 della JVM e ci si puo'
aspettare che con la nuova generazione di navigatori il supporto Java si
migliori.
Java é ancora giovane e continua a evolvere e a migliorarsi. Prima della
versione 1.2 era ancora in fase "sperimentale", ora si sta assestando e le
prestazioni dovrebbero aumentare sensibilmente.
Java et C/C++ hanno i loro rispettivi meriti e difetti secondo l'ambito di
lavoro, ma la questione della velocità dovrebbe nel futuro prossimo passare
in secondo piano.
bye
Carlo Jelmini

 wrote in message
8nnfse$64e$1...@duba04h09-0.dplanet.ch...


 Grazie.


 beta) e C++ per delle applicazioni (non applet e non grafiche).
HotSpot non e' piu' in beta. E' il jit di default nel jdk1.3 e posso
assicurare che la maggior velocita' rispetto al jdk1.2.2 si vede a occhio
nudo.

 wrote in message
8nnfse$64e$1...@duba04h09-0.dplanet.ch...


 con la JVM di Sun ?
Jikes della IBM
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------

 rallenta il computer..
Consideriamo gli strati:
1) applet Java che gira su
2) jvm incorporata nel
3) browser (Netscape è vecchiotto e IE ha tutto l'interesse possibile ad avere una JVM lenta come [any 4
letter word here]) che gira su
4) WINDOWS!!!!! AAAAAAARGH ecco che tutti i nodi vengono al pettine. Hai presente quanto Windows ammazzi la
macchina? Molto più di una JVM.
Hai mai visto l'installazione di Solaris su architettura Intel? Ha intere parti grafiche realizzate in Java
che vanno come schegge.
Forse perchè la Sun ha tutto l'interesse a fare andare la JVM veloce, e M$ a farla andare piaaaaaaaaano.





Sul libro Core java (Java 2 I fondamenti) c'e' un programmino
che effettivamente puo' essere usato per testare la velocita'
di un linguaggio. In basso trovate il sorgente
Questo programma cerca numeri primi con il
metodo del setaccio.
Le prestazioni del C++ puro sono inferiori rispetto alla
VM di JDK1.3.
IBM ha da poco buttato fuori un nuovo SDK 1.3 (sul
sito alphaworks di IBM) che e' ha una VM il doppio piu' veloce
di quella di SUN. Il compilatore fa schifo ma se scaricate
JIKES, sempre su alphaworks, c'e' da rimanere impressionati.
Con Jikes sembra di essere tornati alla velocita' del compilatore
del turbo pascal (non so se qualcuno lo rammenta).
Provare per credere !!!
Gianni.
----------------------------------------------------------------------------
-
Sorgenti:
/**
 * @version 1.20 1999-07-03
 * @author Cay Horstmann
 */
import java.util.*;
public class Sieve
{  public static final boolean PRINT = false;
   public static void main(String[] s)
   {  int n = 5000000;
      long start = System.currentTimeMillis();
      BitSet b = new BitSet(n);
      int count = 0;
      int i;
      for (i = 2; i <= n; i++)
         b.set(i);
      i = 2;
      while (i * i <= n)
      {  if (b.get(i))
         {  if (PRINT) System.out.println(i);
            count++;
            int k = 2 * i;
            while (k <= n)
            {  b.clear(k);
               k += i;
            }
         }
         i++;
      }
      while (i <= n)
      {  if (b.get(i))
         {  if (PRINT) System.out.println(i);
            count++;
         }
         i++;
      }
      long end =  System.currentTimeMillis();
      System.out.println(count + " primes");
      System.out.println((end - start) + " milliseconds");
   }
}
-------------------------------------------------------------
/**
 * @version 1.20 1999-07-03
 * author Cay Horstmann
 */
#ifndef AVOID_STANDARD_BITSET
#include <bitset>
#else
template<int N>
class bitset
{
public:
   bitset() : bits(new char[(N - 1) / 8 + 1]) {}
   bool test(int n)
   {  return (bits[n >> 3] & (1 << (n & 7))) != 0;
   }
   void set(int n)
   {  bits[n >> 3] |= 1 << (n & 7);
   }
   void reset(int n)
   {  bits[n >> 3] &= ~(1 << (n & 7));
   }
private:
   char* bits;
};
#endif
#include <iostream>
#include <ctime>
using namespace std;
int main()
{  const int N = 5000000;
   clock_t cstart = clock();
   bitset<N + 1> b;
   int count = 0;
   int i;
   for (i = 2; i <= N; i++)
      b.set(i);
   i = 2;
   while (i * i <= N)
   {  if (b.test(i))
      {  int k = 2 * i;
         while (k <= N)
         {  b.reset(k);
            k += i;
         }
      }
      i++;
   }
   for (i = 2; i <= N; i++)
   {  if (b.test(i))
      {
#ifdef PRINT
         cout << i << "\n";
#endif
         count++;
      }
   }
   clock_t cend = clock();
   double millis = 1000.0
      * (cend - cstart) / CLOCKS_PER_SEC;
   cout << count << " primes\n"
      << millis << " milliseconds\n";
   return 0;
}
----------------------------------------------------------------------------
----------





 del turbo pascal (non so se qualcuno lo rammenta).
Potresti postare l' URL esatto ? Grazie !
Scorpio

JIKES, sempre su alphaworks, c'e' da rimanere impressionati.
http://www.alphaworks.ibm.com/
e poi dove bisogna andare??
--
***************************************
ATTENZIONE: AGGIORNATE IL MIO INDIRIZZO!
"
bald...@libero.it
,
bal...@wappi.com
"
metti nel "SEND TO" tutto quello tra le ""
***************************************
http://baldo.freeweb.org
(FAQ sulleTemperature, Requiem Info,
VolanteArtigianale, Monkey3:Solution)
****************************************
DVD visti: Matrix, Il 13th Piano,
Godzilla, EyesWideShut, Urban Legend, 
Fallen (un capolavoro!), Ronin,
ExtremeMeasures e Starship Troopers 
(grazie TheNurse).


JIKES, sempre su alphaworks, c'e' da rimanere impressionati.
http://www.alphaworks.ibm.com/
e poi dove bisogna andare??
mi rispondo da solo:
http://www.alphaworks.ibm.com/tech/jikes
