Hello,
this patch significantly reduces memory usage of ispell dictionaries.
without patch (Czech dictionary, 64bit linux):
cspell: 48816784 total in 5930 blocks; 89496 free (1587 chunks); 48727288 used
Ispell dictionary init context: 19226672 total in 12 blocks; 1742624
free (34 chunks); 17484048 used
final:
cspell: 48816784 total in 5930 blocks; 89496 free (1587 chunks); 48727288 used
46.5 MB (long mem) + 18.3 MB (short mem)
with patch:
cspell: 893584 total in 80 blocks; 11760 free (10 chunks); 881824 used
Ispell dictionary simple context: 24647364 total in 188 blocks;
122464 free; 24524900 used
Ispell dictionary init context: 2482224 total in 3 blocks; 24512
free (34 chunks); 2457712 used
Ispell dictionary simple init context: 8259489 total in 63 blocks;
59570 free; 8199919 used
final
cspell: 893584 total in 80 blocks; 11760 free (10 chunks); 881824 used
Ispell dictionary simple context: 24647364 total in 188 blocks;
122464 free; 24524900 used
0.85 + 23.5 MB (long mem) + 2.4 + 7.9 MB (short mem)
Regards
Pavel Stehule