[О блоге] [наверх] [пред] [2024-07-17 18:58:09+03:00] [0de9685e0fa681be50a28978292319594d97d5c1]

Немецкие строки

https://cedardb.com/blog/german_strings/
Некоторые DB-related решения используют "German-style" строки. В
противовес Си-шным (которые типа аналогичны Go-шным slice-ам), в
которых 64-бит идёт на длину, 64-бит на ёмкость, 64-бит указатель
на содержимое. Но во многих задачах строки не часто меняются, как
правило они immutable. Частенько они довольно короткие (считанные
байты). Нередко нужно прочитать только их начало (префикс): сравнение
строк, лексикографическая сортировка, и т.д..

Предлагают такой вариант: 128-бит структура, в которой 32-бита отводят
под хранение длины, а в оставшемся месте или вся строка целиком (если
она не длиннее 12 байт). В противном случае, идёт 32-бит префикс строки,
а дальше указатель на содержимое.

    [оставить комментарий]