crypt of decay - Post a comment [entries|archive|friends|userinfo]
ketmar

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

Apr. 27th, 2017|07:47 am

ketmar
то есть, ты не тупишь, ты абсолютно прав: я просто продал немного памяти за быстродействие. сейчас у меня там кэш, в котором хранится смещение до начала строки от начала текста. поиск O(log n), но медленное обновление. и плохо ложится в выделение памяти фиксироваными страницами.

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

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

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: