Pokud to myslite s benchmarkovanim vazne, tak
1) opakujte test mnohokrat v ramci jednoho behu VM (odstitnite kouzla, ktera
dela hotspot) a pocitejte az posledni behy.
2) zkuste to vyhodnotit za pouziti nejake vazne minene statistiky.
3) zjistete, zda jsou vase vysledky stabilni. (napr. zda se nezmeni, pokud
zmenite poradi, v jakem testujete jednotlive pristupy a neni trebas posledni
vzdy nejrychlejsi.)

Z hlediska praxe: navrh je IMO ve vetsine pripadu rychlejsi nez nejaky
vysledek mikrobenchmarku. Nepisete herni engine.

-- 
S pozdravem
        Ondřej Nekola
        http://twitter.com/satai


2010/7/27 Pavel Nemec <neme...@gmail.com>

> Dobry den,
> resim takovy maly problem toho co je lepsi pouzivat  pro rozliseni
> typu objektu.
>
> Ja jsem zastance pouzivat interface a nechat compilator/runtime aby si
> vybral, kterou metodu zavola. Muj oponent pochazi vice z Ccka a je mu
> blizsi pouzivat klice, pripadne instanceof.
>
> Ja jsem mel vzdy za to ze instanceof je velmi pomale a nedoporucuje
> se, nicmene jsem se docetl, ze to jiz davno neplati.
>
> Udelal jsem si maly test, kdy zjistuji zda je objekt daneho typu na
> zaklade volani
> instanceof
> interface - nezjistuji, pouze volam interface metodu
> na zaklade objekt.getID()  + pretypovani.
>
> Myslel jsem ze interface bude s prehledem nejrychlejsi, nicmene tomu
> odpovida jen maly pocet volani (volam v cyklu a zjistuji jestli objekt
> v listu je daneho typu)
>
> pro 20 000 polozekinstanceof: 20000 item took 25milsec, and result is
> 0 (should be 0)
> interface: 20000 item took 4milsec, and result is 0 (should be 0)
> id:       20000 item took 23milsec, and result is 0 (should be 0)
>
> pro vysi pocet pak rychlost interface jiz kleas a napriklad pro 20M
> instanceof: 20000000 item took 284milsec, and result is 0 (should be 0)
> interface: 20000000 item took 380milsec, and result is 0 (should be 0)
> id:       20000000 item took 188milsec, and result is 0 (should be 0)
>
>
> Zdrojak je nejednodusi mozny, viz: http://pastebin.ca/1909107
>
> je tohle znama vec, a je tedy skutecne jedno zda(co se tyce rychlosti)
> pouziji instance of misto interface?
>
>
> Diky,
> Pavel
>

Odpovedet emailem