• BiroAndras
    #41
    Szerintem is valami ilyesmik lehetnek az okok:
    1. A P4 celeron rettenetesen lassú. Ilyenen láttam akadozni divx lejátszást is (nem HD), ami azért már elég durva.
    2. A P2 korszakban a cache-optimalizáció nem sokat számított, ma viszont az egyik legfontosabb dolog. Óriási sebesség különbséget jelenthet csak az, hogy hogyan és milyen sorrendben olvasod az adatokat a memóriából.
    3. Valami gond van a mérésse.
    4. Valami, amire nem gondoltunk.

    Amit tehetsz:
    1. Nézd meg a progit egy Core2-n, vagy X2-n. Mindkettő szanaszét alázza a P2-ket minden szempontból. Én nemrég pár régi P1-P2 korszakban írt progimat néztem meg csak egy vacak A64 3000+-on, és azok az emlékeimhez képest embertelen gyorsuláson mentek át. Pl. az egyik a régen 10-20 másodpercig tartó számolást valós időben produkálta.
    2. Nézd át a kódot, és igazítsd a mai igényekhez. Főként a memória elérést érdemes átnézni. A legfontosabb, hogy legalább 32-bites egységekben olvass, és 32-bites regiszterekkel számolj, a tömb elemeket növekvő sorrendben olvasd, és akkora adatblokkokkal dolgozz egyszerre, amik bőven elférnek a cache-ben.
    3. A mérésre inkább használj RDTSC-t, az sokkal pontosabb és megbízhatóbb, mint a rendszeróra (de kétmagos prociknál vigyázni kell vele).