> 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.
Jak ale překladač pozná, že operandy jsou nezávislé? To může poznat pouze tehdy, když jsou oba hodnotami proměnných. Jakmile je první z nich funkce, muselo by se analyzovat, zda tělo té funkce neovlivní hodnotu druhého operandu. U druhého se naopak musí vědět, jestli se vůbec smí vyhodnocovat. Na moje gusto příliš mnoho vedlejších pdmínek. Pak stačí drobná změna zadání, některá z těchto podmínek přestane platit a vyhodnocovaný výraz podmínka začne nenápadně poskytovat nekorektní výsledky. __________ Informace od ESET NOD32 Antivirus, verze databaze 5336 (20100803) __________ Tuto zpravu proveril ESET NOD32 Antivirus. http://www.eset.cz