запилил для тестов aatree-array с переменным размером ноды. то есть, отличную структуру для менеджмента всяких пистаблов. на чём, собственно, и тестировал. откуда получается на треть готовая библиотека для текстовых редакторов…
а раз кусок уже есть, то почему бы и не допилить: сделать полноценную реализацию буферов с undo/redo, метками, всем вот этим вот. ну, то есть, всю низкоуровневую механику для редактора уже. а поверх — на тех же деревьях — стайлер. ну, шрифт, цвет, всё такое. и память выделять строго блоками по четыре килобайта, чтобы никакой фрагментации, блядь! типа, «пишем свой vimacs, не приходя в сознание», как обычно.
зачем? ну, жаль хороший код оставлять валяться в виде «никуданелезет».
кстати, на фуз-тестах дерево показывает скорость примерно в 80-100 раз больше, чем просто линейный список. что логично, но от этого не менее приятно. даже стрессы типа удаления мегабайта текста в рандомных позициях посимвольно занимают пару сотен миллисекунд (и неебические минуты для списков). потом высуну фоссил (если не забуду).
p.s.: хм. только дошло, что это, в принципе, у меня такой вариант верёвочки получился же.