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

  Рет қаралды 709

Lua in Moscow

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 Ого, спасибо всем!
Lua и ООП, Сергей Лерг:  Lua in Moscow 2019 Meetup
43:59
Lua in Moscow
Рет қаралды 1,5 М.
Вечный ДВИГАТЕЛЬ!⚙️ #shorts
00:27
Гараж 54
Рет қаралды 12 МЛН
Sigma Girl Past #funny #sigma #viral
00:20
CRAZY GREAPA
Рет қаралды 28 МЛН
Хэш-таблицы за 10 минут
13:01
Николай Тузов — Golang
Рет қаралды 123 М.
Чего ожидать от HTTP/3 + Go
51:07
Нина Пакшина
Рет қаралды 623
Interview with Roberto Ierusalimschy, LiM'19
11:38
Lua in Moscow
Рет қаралды 596
How To Learn Algorithms? Why? #codonaft
19:22
codonaft
Рет қаралды 562 М.
Main filter..
0:15
CikoYt
Рет қаралды 13 МЛН
Hisense Official Flagship Store Hisense is the champion What is going on?
0:11
Special Effects Funny 44
Рет қаралды 2,4 МЛН
Will the battery emit smoke if it rotates rapidly?
0:11
Meaningful Cartoons 183
Рет қаралды 37 МЛН