Попробывал довольно таки интересную бибилиотеку google perfomance tools. Очень простой у них профилировщик, вот только не понятно, почему у меня в программе на первом месте по занятому времени стоит эта функция ? На склько я понял, она вызывается только при конструировании классов, производных от ios_base ? Или нет ? В чем может быть дело ? Вот в текстовом виде вывод профайлера:
378 25.3% 25.3% 378 25.3% std::__ioinit
146 9.8% 35.1% 146 9.8% filter_mem2
125 8.4% 43.4% 125 8.4% CAudio::interp
114 7.6% 51.1% 114 7.6% CAudio::decim
102 6.8% 57.9% 102 6.8% inner_prod
68 4.6% 62.4% 68 4.6% iir_mem2
60 4.0% 66.5% 111 7.4% pitch_gain_search_3tap
47 3.1% 69.6% 47 3.1% split_cb_search_shape_sign
40 2.7% 72.3% 40 2.7% lsp_weight_quant
37 2.5% 74.8% 37 2.5% vq_nbest
35 2.3% 77.1% 35 2.3% compute_weighted_codebook
32 2.1% 79.3% 32 2.1% _spx_autocorr
28 1.9% 81.1% 28 1.9% cheb_poly_eva
22 1.5% 82.6% 22 1.5% lsp_to_lpc
21 1.4% 84.0% 393 26.3% nb_encode
17 1.1% 85.1% 17 1.1% __pthread_mutex_unlock_usercnt
16 1.1% 86.2% 16 1.1% compute_impulse_response
13 0.9% 87.1% 13 0.9% compute_rms
11 0.7% 87.8% 11 0.7% memmove
11 0.7% 88.6% 11 0.7% __pthread_mutex_lock_internal
11 0.7% 89.3% 11 0.7% open_loop_nbest_pitch
10 0.7% 90.0% 10 0.7% pthread_cond_wait@@GLIBC_2.3.2
9 0.6% 90.6% 9 0.6% lsp_quant
8 0.5% 91.1% 68 4.6% pitch_search_3tap
8 0.5% 91.6% 8 0.5% pthread_cond_signal@@GLIBC_2.3.2
7 0.5% 92.1% 7 0.5% normalize16
7 0.5% 92.6% 7 0.5% lpc_to_lsp
7 0.5% 93.0% 21 1.4% nb_decode
6 0.4% 93.4% 6 0.4% speex_rand
6 0.4% 93.8% 6 0.4% aes_decrypt
Первый столбец — количество попаданий прерывания в функцию.
21.09.06 17:23: Перенесено модератором из 'C/C++' — Павел Кузнецов
Гор wrote:
> Попробывал довольно таки интересную бибилиотеку google perfomance tools.
> Очень простой у них профилировщик, вот только не понятно, почему у меня
> в программе на первом месте по занятому времени стоит эта функция ? На
> склько я понял, она вызывается только при конструировании классов,
> производных от ios_base ? Или нет ? В чем может быть дело ? Вот в
> текстовом виде вывод профайлера:
[]
Если включаешь хедер <iostream>, то это вызовы инициализации (w)cin/cout/cerr. В
этом хедере статический или константный объект (идиома schwarz counter), который
обеспечивает своевременную инициализацию стандартных потоков до их первого
использования.
--
Maxim Yegorushkin
No Microsoft product was used in any way to write or send this text.
If you use a Microsoft product to read it, you're doing so at your own riskPosted via RSDN NNTP Server 2.0