Julius 4.2
|
ブロック単位の動的メモリ確保 [詳細]
#include <sent/stddefs.h>
関数 | |
static void | mybmalloc_set_param () |
Set block size and memory alignment factor. | |
void * | mybmalloc2 (unsigned int size, BMALLOC_BASE **list) |
Another version of memory block allocation, used for tree lexicon. | |
char * | mybstrdup2 (char *s, BMALLOC_BASE **list) |
String duplication using mybmalloc2(). | |
void | mybfree2 (BMALLOC_BASE **list) |
Free all memories allocated by mybmalloc2() | |
変数 | |
static boolean | mybmalloc_initialized = FALSE |
TRUE if mybmalloc has already initialized. | |
static unsigned int | pagesize |
Page size for memoly allocation. | |
static unsigned int | blocksize |
Block size in bytes. | |
static int | align |
Allocation alignment size in bytes. | |
static unsigned int | align_mask |
Bit mask to compute the actual aligned memory size. |
ブロック単位の動的メモリ確保
このファイルには,要求されたサイズごとではなく,定められた一定の 大きさ単位でメモリを確保する関数が定義されています.これを用いることで, 細かい単位で大量にメモリ割り付けする際に起こるメモリ管理のオーバヘッドを 改善できます.これらの関数は,主に言語モデルや音響モデルの読み込みに 用いられています.
mybmalloc.c で定義されています。
void* mybmalloc2 | ( | unsigned int | size, |
BMALLOC_BASE ** | list | ||
) |
Another version of memory block allocation, used for tree lexicon.
size | [in] memory size to be allocated |
list | [i/o] total memory management information (will be updated here) |
mybmalloc.c の 84 行で定義されています。
参照元 add_ac(), add_to_error(), bt_new(), bt_relocate_rw(), calc_tied_mix_extend(), dens_new(), dens_read(), hmm_add_physical_to_logical(), hmm_add_pseudo_phones_sub(), htk_hmmdata_new(), htk_hmmdata_read(), make_hmm_basephone_list(), make_successor_list(), mpdf_new(), mpdf_read(), mybstrdup2(), new_node(), outprob_cache_extend(), param_alloc(), rd_data(), rd_dens(), rd_mpdf(), rd_pdf_sub(), rd_state(), rd_streamweight(), rd_tmix(), rd_trans(), rd_var(), rdhmmlist(), rdn_strfunc(), state_new(), state_read(), sw_new(), sw_read(), tmix_create_codebook_index(), tmix_read(), trans_new(), trans_read(), var_new(), var_read(), voca_append(), voca_load_htkdict_line(), voca_load_wordlist_line(), wchmm_add_word(), と wchmm_duplicate_state().
char* mybstrdup2 | ( | char * | s, |
BMALLOC_BASE ** | list | ||
) |
String duplication using mybmalloc2().
s | [in] string to be duplicated |
list | [i/o] total memory management information pointer |
mybmalloc.c の 122 行で定義されています。
参照元 rdhmmdef(), rdhmmlist(), と tmix_read().
void mybfree2 | ( | BMALLOC_BASE ** | list | ) |
Free all memories allocated by mybmalloc2()
list | [i/o] total memory management information (will be cleaned here) |
mybmalloc.c の 138 行で定義されています。
参照元 bt_free(), bt_prepare(), calc_tied_mix_free(), free_cdset(), hmminfo_free(), ngram_info_free(), outprob_cache_free(), param_free_content(), wchmm_free(), と word_info_free().