Какова оптимальная начальная емкость StringBuffer для входов с резко изменяющимися длинами?

Добрый день всем, я пользуюсьjava.lang.StringBuilder хранить некоторые символы. Я понятия не имею, сколько символов я собираюсь хранить заранее, за исключением того, что:

60% времени, это только (точно) 7 символов39% времени, это (примерно) 3500 символов1% времени, это примерно 20 000 символов

Как мы можем рассчитать оптимальную начальную длину буфера, которая должна использоваться?

В настоящее время я используюnew java.lang.StringBuilder(4000) но это только потому, что мне было лень думать раньше.