Hirdetés

Aktív témák

  • #95904256

    törölt tag

    válasz P.H. #48 üzenetére

    Még ha legegyszerűbb módon is hajtod végre a ROUND()-ot, de függvénnyel, akkor is ott marad a szubrutin hívás költsége, és igazából egy ilyen egyszerű függvénynél ez zavar. Mint megmutattad a TRUNC()-ot a Delphi is kifejtette "in-line", de az egyszerűbb! ROUND()-ot nem.

    szimpla CALL+RET páros átlagos órajeligénye kontra FLD+FISTP órajeligény
    ( a CPU általi utasításvégrehajtásba / ütemezésbe most nem bonyolódnék bele, aki ismeri az arhitektúrákat az úgyis tudja hogy mi merre mennyi )
    Core2: 18.4 / 9.0
    K10: 25.4 / 11.7
    K8: 25.2 / 10.6

    Megjegyezném a példádban szereplő esetben a ROUND()-ot így helyettesíteném:
    MOV EAX,ESI
    CDQ

Aktív témák