DConf 2013'ün sunumları belirli aralıklarla (Pazartesi, Çarşamba, ve Cuma) Reddit'te duyuruluyor:
http://www.reddit.com/r/programming/
O sayfada mikroişlemci mimarileriyle ilgili bir yazıyla karşılaştım:
O yazının yan bilgilerinden birisi olarak da daha hızlı olduğu sanılan xor işleci yönteminin modern işlemcilerde aslında daha yavaş kaldığını öğrendim:
import std.stdio;
import std.datetime;
enum döngüTekrarı = 10_000;
enum işlevTekrarı = 10_000;
void swapTemp(T)(ref T lhs, ref T rhs)
{
foreach (i; 0 .. döngüTekrarı) {
T temp = lhs;
lhs = rhs;
rhs = temp;
}
}
void swapXor(T)(ref T lhs, ref T rhs)
{
foreach (i; 0 .. döngüTekrarı) {
lhs ^= rhs;
rhs ^= lhs;
lhs ^= rhs;
}
}
void main()
{
int i, j;
auto ölçümler = benchmark!(() { swapTemp(i, j); },
() { swapXor(i, j); })(işlevTekrarı);
writefln("swapTemp: %8s ms", ölçümler[0].to!("msecs", int));
writefln("swapXor : %8s ms", ölçümler[1].to!("msecs", int));
}
Bendeki bir çıktısı:
'
swapTemp: 203 ms
swapXor : 716 ms
'
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]