12月 13th, 2006

配列の初期化パフォーマン゜

Posted in Solaris by admin

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
You can leave a comment, or trackback from your own site. RSS 2.0

Leave a comment