2010/3/11 Pavel Stehule <pavel.stehule@gmail.com>:
> Hello
>
> There are some wrong in our implementation NISortDictionary. After
> initialisation is ts_cache memory context 55MB long and pg takes
> 190MB.
>
> dispell_init
> cspell: 1024 total in 1 blocks; 136 free (1 chunks); 888 used
> After dictionary loading
> cspell: 3072 total in 2 blocks; 568 free (5 chunks); 2504 used
> Ispell dictionary init context: 27615288 total in 13 blocks; 7710864
> free (12 chunks); 19904424 used
> After AffFile loading
> cspell: 816952 total in 78 blocks; 18072 free (18 chunks); 798880 used
> Ispell dictionary init context: 27615288 total in 13 blocks; 7710864
> free (20 chunks); 19904424 used
> After stop words loading
> cspell: 816952 total in 78 blocks; 13360 free (13 chunks); 803592 used
> Ispell dictionary init context: 27615288 total in 13 blocks; 7710864
> free (20 chunks); 19904424 used
> After dictionary sort
> cspell: 55706480 total in 6775 blocks; 140200 free (1728 chunks); 55566280 used
> Ispell dictionary init context: 27615288 total in 13 blocks; 7710864
> free (20 chunks); 19904424 used
> After Affixes sort
> cspell: 55853736 total in 6789 blocks; 130208 free (1553 chunks); 55723528 used
> Ispell dictionary init context: 27615288 total in 13 blocks; 7710864
> free (34 chunks); 19904424 used
> final
> cspell: 55853736 total in 6789 blocks; 130208 free (1553 chunks); 55723528 used
> Ispell dictionary init context: 27615288 total in 13 blocks; 7710864
> free (34 chunks); 19904424 used
>
the mkSPNode takes 45MB
Conf->Dictionary = mkSPNode(Conf, 0, Conf->nspell, 0);
> Regards
> Pavel Stehule
>