Nopeustesti

Tein yksinkertaisen ohjelman, joka laskee Fibonaccin luvut, ja kertoo paljonko aikaa kului suoritukseen. Ohjelma mittaa vain laskentanopeuden, ja esimerkiksi muistin määrä ei vaikuta tulokseen.

Ohjeet:
1.   Tallenna koodi ”jfibo.java” tiedostoon
2.   Käännä ohjelma käskyllä: ”javac jfibo.java”
3.   Käynnistä ohjelma: ”java jfibo”

(Ohjelman suoritus kestää 1-2 minuuttia)

Ohjelma toimii Macissä, Windowsissa ja Linuxissa.

Voitte lähettää tuloksenne tänne, mutta laittakaa otsikkoon mikä kone teillä on.

###############################

public class jfibo
{
   static final int KPL = 45;
   private static long fibo(int i)
   {
      if (i < 3)
         return 1;
      else
         return fibo(i-1) fibo(i-2);
   }
   public static void main(String[] args)
   {
      long before = System.currentTimeMillis();
      for (int i=1; i < KPL; i )
         System.out.println(i "/" KPL " : " fibo(i));
      long after = System.currentTimeMillis();
      System.out.println("Ohjelman suoritus kesti " (after - before) " ms");
   }
}

###############################
6759
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Kone on vanha Pentium II 333 Mhz ja käyttöjärjestelmä Linux:

Tulos oli:

Ohjelman suoritus kesti 170115 ms

Äänestä

Sorry olen ihan noviisi näissä asioissa:

Siis menen terminaaliin ja?
annan toin ”javac jfibo.java” komennon...

Errorii tulee ettei voi lukea tiedostoa, hakemisto väärin? Eli minne tuon ”jfibo.java” tiedoston laitan että se löytyy, tai miten siirryn terminaalissa sinne missä tiedosto on tms.

Unix hakusessa....

Äänestä

Ohjelman suoritus kesti 88815 ms

Äänestä
  • AMD1200 on yli kaksi kertaa nopeampi !

    Pitää testata toiseella koneella (AMD 750Mhz) ehkä sekin hakkaa Macin :)

    Äänestä

  • WinXP kirjoitti:

    AMD1200 on yli kaksi kertaa nopeampi !

    Pitää testata toiseella koneella (AMD 750Mhz) ehkä sekin hakkaa Macin :)

    ...niin sitten heräsit, vedit kissaa ja päästit kellon ulos?

    Äänestä

Sain javan toimimaan XP:ssa :)

Tässa tulokset:
Ohjelman suoritus kesti 33899 ms

Äänestä

Kommentoi aloitusta


koodaja kirjoitti:

Tein yksinkertaisen ohjelman, joka laskee Fibonaccin luvut, ja kertoo paljonko aikaa kului suoritukseen. Ohjelma mittaa vain laskentanopeuden, ja esimerkiksi muistin määrä ei vaikuta tulokseen.

Ohjeet:
1.   Tallenna koodi ”jfibo.java” tiedostoon
2.   Käännä ohjelma käskyllä: ”javac jfibo.java”
3.   Käynnistä ohjelma: ”java jfibo”

(Ohjelman suoritus kestää 1-2 minuuttia)

Ohjelma toimii Macissä, Windowsissa ja Linuxissa.

Voitte lähettää tuloksenne tänne, mutta laittakaa otsikkoon mikä kone teillä on.

###############################

public class jfibo
{
   static final int KPL = 45;
   private static long fibo(int i)
   {
      if (i < 3)
         return 1;
      else
         return fibo(i-1) fibo(i-2);
   }
   public static void main(String[] args)
   {
      long before = System.currentTimeMillis();
      for (int i=1; i < KPL; i )
         System.out.println(i "/" KPL " : " fibo(i));
      long after = System.currentTimeMillis();
      System.out.println("Ohjelman suoritus kesti " (after - before) " ms");
   }
}

###############################

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu