weise написал(а):
Сложилось впечатление, что initial size не имеет смысла - влияния на результаты не увидел.
Внутренние таблицы (ВТ) хранятся в памяти постранично. INITIAL SIZE служит для указания информации о размере (=количества строк на) 1-й страницы. Если размер 1-й страницы не указан, он расчитывается автоматически.
weise написал(а):
А вот с изменением строк по другому. Если после первоначального заполнения таблицы увеличивать <ls_line>-table несколько раз, то первое увеличение занимет в 1,5 - 2 раза больше времени чем последующие. Вне зависимости от соотношения initial size и первоначального заполнения таблицы.
При объявлении ВТ в памяти создается только ссылка на таблицу. При добавлении в ВТ первой строки создается управлющая структура ВТ, заголовок ВТ и выделяются страницы под тело (строки) ВТ. В дальнейшем - либо заполняются существующие страницы, либо добавляются новые.
weise написал(а):
Фрагмент памяти, который занимала раньше строка 100 будет освобожден, а вместо этого будет занят новый фрагмент где-то за пределами таблицы?
Насколько я понимаю, lt_line хранит только ссылку таблицу table, а сама таблица где-то рядом

. Имхо, строка 100 вообще не поменяется, а в последнюю страницу, занимаемую table, будут добавлены данные еще 1 строки (если текущая страница имеет меньший размер, чем добавляемая строка, будет выделена новая страница).