Oi,

Original em C (usando LCC : http://www.cs.virginia.edu/~lcc-win32/ )
// -----------------------------------
#include <windows.h>
#include <math.h>
#include <stdio.h>
#define MAX 100000
int main() {
 DWORD start[5],finish[5];

 float result = 0;

 for (int a = 0; a < 5; a ++) {

     start[a] = GetTickCount();

  for (long j = 0; j < 200; j++) {
   for (double i = 1; i < MAX; i = i + 1.0) {
    result *= i / sqrt (i);
   }
  }

  finish[a] = GetTickCount();
 }

 DWORD media = 0;

 for (int a = 0; a < 5; a++) {
  media += finish[a]-start[a];
  printf ("tempo gasto (%d) : %ldms \n",a, finish[a]-start[a]);
 }

 printf ("tempo medio : %ldms \n", media / 5);

 return 0;
}

// -----------------------------------


Em Java  (JDK 1.4) :
/*
 * TesteFloatPoint.java
 *
 * Created on 14 de Abril de 2002, 22:24
 */

/**
 *
 * @author  xfer
 */
public class TesteFloatPoint {

    /** Creates a new instance of TesteFloatPoint */
    public TesteFloatPoint() {
    }

    /**
     * @param args the command line arguments
     */
    public static final int MAX = 100000;
    public static void main(String[] args) {
        long[] start, finish;

        start = new long[5];
        finish = new long[5];

        float result = 0;

        for (int a = 0; a < 5; a ++) {
            start[a] = System.currentTimeMillis();

            for (int j = 0; j < 200; j++) {
                for (double i = 1; i < MAX; i = i + 1.0) {
                    result *= i / Math.sqrt(i);
                }
            }

            finish[a] = System.currentTimeMillis();
        }

        long media = 0;

        for (int a = 0; a < 5; a++) {
            media += finish[a]-start[a];
            System.out.println("tempo gasto (" + a + ") : " +
(finish[a]-start[a]));
        }

        System.out.println("tempo medio : " + (media / 5));

    }

}
// ----------------------------------------------------------------

C:\bin\testeFP>floatpoint
tempo gasto (0) : 5929ms
tempo gasto (1) : 5978ms
tempo gasto (2) : 5869ms
tempo gasto (3) : 6018ms
tempo gasto (4) : 5839ms
tempo medio : 5926ms

C:\bin\testeFP>java -cp . TesteFloatPoint
tempo gasto (0) : 2323
tempo gasto (1) : 2294
tempo gasto (2) : 2283
tempo gasto (3) : 2303
tempo gasto (4) : 2304
tempo medio : 2301


    Maquina : Pentium III 800Mhz, com 512mb de RAM, rodando WinXP Home
Edition.

    heheh, isso vai rolar discussao por um mes, aposto...


.: sourbox :.


----- Original Message -----
From: "Douglas Carvalho" <[EMAIL PROTECTED]>
To: "Java-List" <[EMAIL PROTECTED]>
Sent: Sunday, April 14, 2002 4:22 PM
Subject: [java-list] Performance calculo


> Quanto à performance, os gráficos são
> um pouco lentos em Java, mas e os cálculos?
> Se eu quiser construir um programa que
> efetue muitos cálculos de ponto flutuante, a
> performance em Java é aceitável? Em relação
> à performance em C++ (vamos considerar um
> aplicativo para console, que não utilize interface
> gráfica) quantas vezes aprox seria pior ou melhor?
>
>     Atenciosamente,
>
>             Douglas Carvalho
>
>



------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a