SORU
15 EKİM 2011, CUMARTESİ


Neden memcpy() ve hedef() daha hızlı işaretçisi artırır.

pDest pSrc N bayt kopyalama yapıyorum. Bu, tek bir döngü içinde yapılabilir:

for (int i = 0; i < N; i  )
    *pDest   = *pSrc  

Neden bu kadar yavaş memcpy memmove Daha? Hileler onlar bunu hızlandırmak için ne kullanabilirim?

CEVAP
15 EKİM 2011, CUMARTESİ


Memcpy bayt işaretçiler yerine kelime işaretçileri kullanır, çünkü, aynı zamanda memcpy uygulamaları genellikle SIMD mümkün seferinde 128 bit karıştırmak için yapar talimatları ile yazılır.

SIMD talimatları bir vektör 16 bayt her öğe üzerinde aynı işlemi uzun gerçekleştirebileceği montaj talimatları. Bu yük ve mağaza yönergeler içerir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013