crypt of decay - про редактор и деревья [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

про редактор и деревья [Apr. 26th, 2017|09:10 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
Linkmeow!

Comments:
[User Picture]
From:[info]ketmar
Date:April 27th, 2017 - 07:47 am
(Link)
то есть, ты не тупишь, ты абсолютно прав: я просто продал немного памяти за быстродействие. сейчас у меня там кэш, в котором хранится смещение до начала строки от начала текста. поиск O(log n), но медленное обновление. и плохо ложится в выделение памяти фиксироваными страницами.

а b+ — это почти то же самое, только список получается побит на части, и с частями можно работать отдельно. поиск чуть медленней (теперь там хранятся длины, и надо прощёлкать всю страницу линейно), но зато самортизировалось обновление, да ещё и в страницы ложится как родное.

потому финальная идея такая, чтобы все выделения памяти в редакторе шли строго постранично, для всего вообще. чтобы я нахрен прекратил думать о фрагментации памяти как таковой. понятно, за это я заплачу тем, что некоторые страницы будут использоваться не полностью, но ок, меня устраивает. зато есть другие преимущества — типа того, что не нужно будет делать memcpy() на 210MB+210*2MB данных, если надо подвинуть дырку вставки из конца в начало.