Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Aethelstone
    addikt

    Sziasztok!

    Lenne egy érdekes kérdésem.
    Adott egy rendszer amelyben az egyik igen csak teljesítményigényes végrehajtó részt, kísérleti jelleggel több komponens is megvalósítja.
    A lényeg, hogy ezeknek a komponenseknek a teljesítményét szeretném mérni.
    Nem bonyolítom túl az egészet, egyszerűen csak futási időt fogok mérni a System.nano() hívással.

    long start = System.nanoTime();
    ...
    long end = System.nanoTime() - start;

    Mennyire valós dolog az, hogy a Java lassan "melegszik" be.
    Tehát ha én egy adott függvény teljesítményét akarom lemérni, akkor az első 5-6 futás eredményét tényleg érdemes-e eldobni?

    A válaszokat előre is köszönöm,
    Peti

    Meg azt sem árt tudni, hogy ezek a komponensek mit csinálnak. Adatbázis kapcsolat pl. elsőre kissé le tudja fogni a teljesítményt, de ha mondjuk pool van kötve a végére, akkor a második és sokadik futás értelemszerűen már sokkal gyorsabb...és sorolhatnám.

  • floatr
    veterán

    Sziasztok!

    Lenne egy érdekes kérdésem.
    Adott egy rendszer amelyben az egyik igen csak teljesítményigényes végrehajtó részt, kísérleti jelleggel több komponens is megvalósítja.
    A lényeg, hogy ezeknek a komponenseknek a teljesítményét szeretném mérni.
    Nem bonyolítom túl az egészet, egyszerűen csak futási időt fogok mérni a System.nano() hívással.

    long start = System.nanoTime();
    ...
    long end = System.nanoTime() - start;

    Mennyire valós dolog az, hogy a Java lassan "melegszik" be.
    Tehát ha én egy adott függvény teljesítményét akarom lemérni, akkor az első 5-6 futás eredményét tényleg érdemes-e eldobni?

    A válaszokat előre is köszönöm,
    Peti

    Létezik az, hogy a VM memóriát pucol, betölt, lefordít, becache-el dolgokat, de az elméletileg első futtatáskor megtörténik. Ez a jelenség más infrastruktúrán is jelentkezik.

    Azt viszont a teljesítményteszteknél érdemes megjegyezni, hogy mindig lesznek kiugróan rossz, vagy jó eredmények, ami nem igazán tükrözi a normál körülményeket. Használnak emiatt sokféle statisztikai mutatót, de nekem eddig a legjobban a medián jött be, az egyszerű átlagolás könnyen elvisz a málnásba.

    Ja és természetesen lehetőleg kellően sok futtatás kell ahhoz, hogy valós képet kapjál. Ha az elsőt mondjuk eldobod, után mondjuk 10 mérés már sok esetben elég tud lenni.

Új hozzászólás Aktív témák