матчингом списка по первым элементам списка без помощи erl_eval?
fun([<<3>>,<<1>>|_]) -> true;
(_) -> false end
вот такой предикат надо сделать имея на входе список
[<<3>>, <<1>>] Длина части списка для матчинга заранее не известна, может быть произвольной
Почему просто lists:prefix/2 не использовать для предиката? Или там ещё какие условия кроме матчинга? Pattern match только compile time
хм… идея нравится, попробую как будет с производительностью
Простого способа нет. Сравнивай префиксы в рантайме. Матчинг будет на миллисекунды быстрее
А если мне матчить 10к записей подряд? Вот там миллисекунды и важны. Ну я пока сделал как Владимир посоветовал через lists:prefix/2, но планирую на днях побенчмаркнуть разные варианты.
Окей, но 10000 записей, у тебя будет отличие в скорости на 100мс
Может тебе не микроопьимизация нужна, а подходящая структура данных?
Это да, идея хорошая, тем более что у меня там sext под в rocksdb лежит, но до него добраться сложно
Обсуждают сегодня