12月 13th, 2006
配列の初期化パフォーマン゜
Solarisぜ Cコンパイラーぜ char配列の初期化をする場合、方? によってはパフォーマンスにかか゜ るようです。ちなみぜ gccでコンパイルした場合は、全く差は出ませんでした。
各配列の初期化処理を1,000,000回ループで? 行させた経遜 時間。
(1) char cha_str[1024] = { '\0' }; (2) char cha_str[1024] = ""; (3) char cha_str[1024]; memset(cha_str, '\0', sizeof(cha_str) ); (1) 2.742 秒 (2) 2.742 秒 (3) 0.460 秒
(1)(2)の? 果は朮 ど同じです。er_prrintの? 果は以下です。
とにかぜ 遅すぜ る印象がありますし、配列のサイズが大きぜ なるに? って更に劣化します。
? 他的 包括的 名前 CPU CPU 秒 秒 2.742 2.742 < 合計> 2.742 2.742 main 0.000 0.000 __collector_ext_mmap_deinstall 0.000 0.000 _exithandle 0.000 0.000 _fini 0.000 0.000 _private_close 0.000 2.742 _start 0.000 0.000 atexit_fini 0.000 0.000 call_fini 0.000 0.000 collector_close_experiment 0.000 0.000 exit 0.000 0.000 update_map_segments
(3)ぜ er_print結果も載せておきます。
? 他的 包括的 名前 CPU CPU 秒 秒 0.460 0.460 < 合計> 0.440 0.440 memset 0.020 0.460 main 0.000 0.000 __collector_ext_mmap_deinstall 0.000 0.000 _exithandle 0.000 0.000 _fini 0.000 0.000 _private_close 0.000 0.460 _start 0.000 0.000 atexit_fini 0.000 0.000 call_fini 0.000 0.000 collector_close_experiment 0.000 0.000 exit 0.000 0.000 update_map_segments
Comments are closed!