Jak to Josh Bloch myslel nevim, ale ze & muze byt rychlejsi nez && me
neprekvapuje. Pri pouziti & procesor muze vyhodnocovat operandy paralelne,
zatimco u && musi pockat, jak dopadne vyhodnoceni prvniho operandu. Takze
pokud jsou operandy nezavisle a procesor vicejadrovy, tak to bude mozna i
docela caste.

Z.
-- 
Zdenek Tronicek
FIT CTU in Prague


Robert Novotny napsal(a):
>   Mna napr. zaujala poznamka z keynotu Josha Blocha z terajsieho Java
> Language Summitu:
>
> In some circumstances it turns out that & is faster than && in Java,
> because a && will short curcuit, which means it will branch. The single
> ampersand will always execute both sides, which means the CPU can
> pipeline both of them to execute at the same time.
>
> Ale originalna prezentacia nie je este k dispozicii, takze nie je mi
> celkom jasne, ako sa to myslelo.
>
> RN
>
>
> On 2. 8. 2010 20:57, Ondra Medek wrote:
>>> Takze
>>> kdyz se nekomu podari "mikrooptimalizace" typu "prochazeni pole odzadu
>>> je
>>> rychlejsi", v dalsim buildu JDK uz to nemusi fungovat.
>> Ja bych jen doplnil konkretne k teto "optimalizaci": ono to nemusi byt
>> rychlejsi vzdy. Zalezi, nejen na JVM, ale i jaka data se prochazi,
>> typu cache a procesoru, a mozna dalsich faktorech. Tedy zrovna tato
>> optimalizace je IMHO obecne naprosto zbytecna.(Mne osobne se lepe ctou
>> for cykly od 1 do N.) Dobra je leda tak pro nejaky konkretni pripad,
>> kde se opravdu nameri zrychleni. Tim nechci spoustet flame na tema
>> rychlost prochazeni pole. Jen chci uvezt konkretni pripad, kdy je
>> takova mikrooptimalizace zbytecna.
>>
>> Zpatky k tomu "instanceof": pouziva se to hojne v equals metodach,
>> tedy bych se o rychlost nebal. Pravdepodobne se v kazde aplikaci vola
>> tolikrat, ze nejake dalsi pridani uz nema vyznam. (kdyby to byla
>> nejaka brzda, tak by se jiste nasel nekdo, kdy by se snazil equals
>> implementovat jinak).
>>
>> P.S. pro Otu: ja jsem take z HPC sveta.
>>
>
>

Odpovedet emailem