Hirdetés

Aktív témák

  • perla

    csendes tag

    válasz Power #306 üzenetére

    ''Az áttöltések nem lassítanak semmit''

    Te irtad. Megegyszer mondom, probald ki.

    ''Írj te, hogy hol gyorsít ez?''

    Ok. Pl:

    attoltes nelkuli kod:

    mov eax,1
    mov ebx,1

    add ebx,eax

    attoltessel kod:

    mov eax,1
    mov ebx,1

    mov ecx,ebx
    add ebx,eax


    Lemerheted, lassit az attoltes. Johet a te peldad.

    ''A későbbi szükségletekre ott a renaming, az átöltés párhuzamosan megy.''

    ? A renamingnek szerintem semmi koze a keves regiszter problemahoz. Szerinted mi koze van hozza?


    ''Felejtsd már el ezt a kézi optimalizálást. Mind az intel, mind az Amd ellenjavalja az assembly-t. Egy 386-os vagy egy P2-es esetén használhatsz, de 2004-ben már csak magadat fogod szívatni.''

    Ezt nem tudom, honnan veszed, hogy ellenjavaljak, hivatkozd le. Azt tudom, hogy en szinte minden nap irok assembly kodot, C-ben in-line assembly, foleg sse2 gyorsitas miatt, de sajnos ahhoz kell sima x86 assembly is ugye. SSE2 nelkul nyilvan nem irnek, mezei x86-ban nagyon sok munkaval tudok csak kicsivel gyorsabb kodot irni (ha erre a gondoltal, akkor az igy van), az nem eri meg, de sse2 az tokre megeri.

    ''Nyílvánvaló, hogy nem a 3/4 operandus gyorsít.''

    Latom ezt nem veszi be az agyad. Ujra mondom, probald ki. Pl. a*b+b*c+c*a 2 operandusu muvelettel 7 utasitas, 3 operandusuval 5. Emiatt gyorsit.

    ''Belül egy sima memória operandusú művelet is regiszteresre helyetessítődik.''

    Na, ha fogalmam sincs rola, akkor fejtsd ki. Hogy tudja vajon a proci a memoria operandusu utasitast regiszteressel helyettesiteni. Ha a forras a memoria operandusu: hulyeseg, ha az adat a memoriaban van, akkor nem lehet regiszterben. Ha az eredmeny: vajon ilyenkor beirja az adatot egy regiszterbe, egy masikba meg egy cimet, hogy hova is kellett volna irni, hiszen kulonben nem tudna, hogy hogy milyen mem hivatkozasnal kell elovenni. Es ezt igy folytatja, mig el nem fogynak a regiszterek. Es utana? Ez is hulyeseg. Cachbe irodik nyilvanvaloan, az pont erre van kitalalva. Na meselj, hogy van ez szerinted?


    ''Én nem ezt írtam. Én nem írtam egy szót se a memóriába írásról.
    Nem olvasol figyelmesen vagy nem érted?''

    Probalsz kodositeni. Arrol volt szo, hogy tobb regiszterrel gyorsabb kodot lehet irni, szerinted meg nem. De igen, mert sokszor elofordul, hogy keves regiszterbe sok adat nem fer be, valamit ki kell irni membe. Ezert lehet tobb regiszterrel gyorsabb kodot irni. Lehet, hogy te nem szoltal memoriaba irasrol, csak sajnos mas valasztasa a forditonak sincs, minthogy kiirja az adatot membe.


    ''1. Több processzoros környezetben a kozisztencia problémák léphetnek fel és egy túlméretezett cache visszafoghatja a rendszert.
    2. Gyártási problémák - túlontúl nagy cache -> rosszabb kihozatal, alacsonyabb órajel''

    Ja, ezert is raknak egyre tobb cachet a procikra. Ez full kamu. Az egesz hozzaszolasodra ez jellemzo egyebkent. De hivatkozd le. Melyik gyartonal van olyan, hogy azt mondjak, itt egy specko proci direkt kisebb cache-sel, hogy gyorsabb legyen. Nincs ilyen.

    ''Tudod mi az az MMX/SSE/SSE2?''

    Abszolut. Tobb eve sse2-ben programozok. Az intel marketing eventeken szokott a kodjaimra hivatkozni. Mondjuk ez nem tudom, hogy jott a temaba, de mind1.

    ''Micsoda???
    Látod a mikro kódot? Látod a futásközbeni átrendezést?
    Felejtsd már el az x86-os opcode-okat, totál más zajlik a háttérben.''

    Ezt nem kell ennyire misztifikalni. Egyreszt ha nagyon muszaj, akkor a mikrokodot is elo lehet banyaszni, de nem szoktam. Szepen le lehet merni a sebesseget enelkul is, tokre kimerheto, hogy az adott kodban egy ilyen memoriaba mentes es visszaolvasas mennyit lassit.

    ''Ezen már mosolyogni sem tudok.
    Te vagy 14 éves vagy vagy menthetetlen.
    Szerintem itt zárjuk le.''

    ? Ha jol ertem, nincs erved, inkabb fikazol. Ird be a google keresobe : ''risc vc cisc compiler'', es lasd az eredmenyt. Risc compilert egyszerubb irni. Egyforma az utasitasok hossza. Ugyanarra a feladatra nincs tobb megoldas, mint a ciscnel, nem kell gondolkozni, hogy melyiket valassza a compiler. Egyszerubb a cimzes. stb.

Aktív témák