SORU
22 Temmuz 2009, ÇARŞAMBA


Ve Java bölünmesi çarparak daha hızlı bit kayması? .NET?

Değişen bit sol ve sağ görünüşte çok üzerinde çarpma ve bölme işlemlerini daha hızlı (?) Eğer 2 güç kullanarak olacak CPU. Ancak, bazı okurlar ve bazı algoritmalar için kod netliğini azaltabilir. Bit kaydırma performansı için gerçekten gerekli mi, ya da derleyici/dava haber ve optimize VM (güç-2 harf olduğunda özellikle) bekleyebilirim? Java başlıca ilgi duyuyorum .Başka dilde NET bir davranış ama hoş anlayışlar da uygulamaları.

CEVAP
22 Temmuz 2009, ÇARŞAMBA


Bugün yapacak çoğu derleyici daha çarpın dönüştürmek veya güç-of-iki tarafından operasyonlarını bölün. Optimize ederken, birçok Derleyiciler Eğer 2'nin bir gücü değilse bile optimize bir veya bir derleme zamanı sabiti çarpın bölün. Genellikle çarpma ya da bölme vardiya ve ekler bir dizi çürümüş olabilir, ve eğer operasyonların bu dizi çarpma ya da bölme daha hızlı olacak, derleyici kullanır.

Bir sabit ile bölme için, derleyici genellikle bir ile çarpın bir 'sihirli sayı' vardiya izledi. operasyon dönüştürebilirsiniz Bu döngü saat koruyucu çarpma genellikle çok daha hızlı bir bölünme daha büyük bir operasyon olabilir.

Henry Warren's book, Hacker's Delight, da oldukça iyi arkadaşı web sitesinde ele alınan bu konu, hakkında bilgi hazinesi vardır:

Ayrıca Bkz: bir tartışma (bir iki link ile):

Her neyse, tüm bu derleyici mikro-optimizasyon sıkıcı ayrıntılara dikkat çekmek için izin aşağı kaynar. Kendi vardiya derleyici alt görmeyeli yıllar oldu.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • Epic Tutorials for iPhone, iPad and iOS

    Epic Tutoria

    18 EYLÜL 2011
  • jat4011

    jat4011

    16 EKİM 2010