Jan
30
卜部昌平のあまりreblogしないtumblr: 最速の memset64 を求めて 今回のお題は char 幅じゃなくて word 幅の memset 、つまりプロトタイプだと void*...
最速の memset64 を求めて
今回のお題は char 幅じゃなくて word 幅の memset 、つまりプロトタイプだと
void* memset64(void* destination, uint64_t image, int num_words);をどれだけ高速に行うかという話。なぜ高速化するかというと、塗りつぶす領域がけっこうでかいから。
候補 1: REP STOS
void* memset64(void* d, uint64_t i, int n) { asm("cld; rep stosq;" :: "D"(d), "a"(i), "c"(n) :...