文字列以外に利用できるバッファサイズはc log n bits (cは任意の定数)
となったみたいですね。
今メソッドの先頭で定義している変数は
now_char : 英数字だけなら最大 7 bits
eql_count : 最大 log(n/2) bits
str_size : log(n) bits
count : 最大 log(n/2) bits
以上より
7 + log(n/2) + log(n) + log(n/2) = (3log(n) - 5) bits
たぶん c = 4 くらいで大丈夫かな?