Префиксное дерево на миллионы правил, Олег Кошовец: Lua in Moscow 2019 Meetup

  Рет қаралды 709

Lua in Moscow

4 жыл бұрын

В рамках разработки очередной фичи для S3 Object Storage возникла задача сопоставления имени объекта с различными префиксами и постфиксами. Задача сопоставления строки с префиксным правилом не выглядит сложной, но все становится интереснее, если таких правил миллион. Конкретно эту задачу мы решали с помощью префиксных деревьев, на примере построения и работы с этими деревьями я расскажу, какие проблемы могут возникнуть при работе с "хитрыми" структруами данных в Lua, и как эти проблемы решали.

Пікірлер: 6
@user-ne4bd3ry1n
@user-ne4bd3ry1n 22 күн бұрын
Сишка в проекте - это всегда страшно ... )
@ilyarozhok9167
@ilyarozhok9167 4 жыл бұрын
Олег, крутое выступление! Люблю твой подход к изложению информации, лукас
@VADemon
@VADemon 4 жыл бұрын
Так как все строки в Lua дедуплицируются по умолчанию, самим языком (string interning/string pooling), то разбивать строку на префиксы по 1-2-3 символа противоречит самой задаче. Правильно было бы разбивать по логическим элементам (допустим путь к файлу разбивается на папки по-элементно, а названия файлов (т.к. они будут похожи, но не одинаковы) - так, как Олег описывает - префиксово-посимвольно) Хотя позже они в постановке задачи решили, что все префиксы правил будут уникальными - это противоречит идее string interning, пришлось бы с этого момента по-другому думать.
@VADemon
@VADemon 4 жыл бұрын
Так и не нашел ни его, ни ссылок на Гитхаб, ничего :/
@Tarantool
@Tarantool 4 жыл бұрын
Держите ссылку :) github.com/okoshovetc/prefix_trees
@VADemon
@VADemon 4 жыл бұрын
@@Tarantool Ого, спасибо всем!
I wish I could change THIS fast! 🤣
00:33
America's Got Talent
Рет қаралды 89 МЛН
터키아이스크림🇹🇷🍦Turkish ice cream #funny #shorts
00:26
Byungari 병아리언니
Рет қаралды 28 МЛН
ОДИН ДЕНЬ ИЗ ДЕТСТВА❤️ #shorts
00:59
BATEK_OFFICIAL
Рет қаралды 8 МЛН
My little bro is funny😁  @artur-boy
00:18
Andrey Grechka
Рет қаралды 11 МЛН
Asus  VivoBook Винда за 8 часов!
1:00
Sergey Delaisy
Рет қаралды 1,2 МЛН
После ввода кода - протирайте панель
0:18
В России ускорили интернет в 1000 раз
0:18
Короче, новости
Рет қаралды 926 М.