Keresés

Hirdetés

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

  • Vertic

    aktív tag

    válasz hobizsolti #96 üzenetére

    így van.
    Elég kevesen tolják assemblyben... :) egy átlagos alkalmazásnál meg az ember valami fincsi magasszintű nyelvben kb. leszarja, hogy az a változó amit használ épp, az milyen pontosságú - amíg elég az adott pontosság. Tehát ha elég a 4 bájtos integer, akkor senki nem fog 8 bájtosat használni, tök értelmetlen is lenne.
    A lebegőpontos számoknál már sokszor van értelme double-t használni, de ahol kellett, ott eddig is azt használtak, szóval ezzel nem sok nyereség lesz.
    Leginkább a fordítóprogramok feladata az optimalizálás, de az se tud mit csinálni, ha egyszerűen nincs szükség a szélesebb adatra. Ha trükközni lehet a fordításnál, hogy összefoghatnak esetleg két 32 bites adatot, akkor rendben, mondjuk ennek sem tulajdonítok nagy jelentőséget, de a programozók döntő többsége soha nem kerül ezzel közelebbi kapcsolatba, csak kiválasztja, hogy neki mekkora pontosság kell, és csókolom.
    Az optimalizáció inkább a visszairányba szokott kelleni - tehát ha 32 bites platformra írunk programot, és túl lassú, akkor megpróbáljuk a 64 bites változókat olyan keveset használni, amennyire csak lehet, vagy ha nincs FPU a gépben (mobilokra kell gondolni), akkor mindent integerrel old meg az ember amit csak tud, még ha logikusan lebegőpontos kéne is.
    De olyan optimalizációról még nem hallottam, ami gyorsítana valamit, ahol egyszerűen nincs kihasználva ez.
    Tehát valószínű, hogy a képfeldolgozó-renderelő, illetve a hatalmas memóriát vagy nagy pontosságú számítást igénylő programokon kívül a többi (a mindennapi életben használt programok túlnyomó többsége) soha a büdös életben nem lesz gyorsabb 64 biten, és ez nem a programozók hibája. Ennyi.

    '' ... tehát háromig számolj, és ameddig számolsz az három legyen ... ''

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