e161.c

char counterは遅い


/usr/abiccs/bin/cc -O -c slowChar.c の結果。 /*------------------------------------------*/ /* 処理速度が遅過ぎる memset */ /*------------------------------------------*/ static void tooSlowChar(char *s,char c,char n) { char counter ; for(counter = 0 ; counter < n ; counter = counter + 1) { s[counter] = c ; } } /*------------------------------------------*/ /* 普通の人が書く memset */ /*------------------------------------------*/ static void normal(char *s,int c,int n) { int i ; for(i = 0 ; i < n ; i++) { s[i] = c ; } }
解説 処理速度が遅過ぎる 1330 msec 普通の人の処理時間 370 msec C-FAQ 1.1J C-FAQ 1.1E を参照して下さい。