мапы и обратно? Накидайте своих методов — мне для бенча надо. В особенности интересует зачистка от undefined значений
Главное – задавать как можно больше ключей для мапки на момент её создания. Это оптимизирует key tuple для маленьких мапок
Да, это замечательно работает, когда не надо фильтровать мапку по значениям
Метод перекладывания — foldl по record_info(fields, R)
https://www.erlang.org/eeps/eep-0058
красиво, но медленно + непереносимо
а если через element(i, Rec)?
не уверен, что правильно понимаю. конструкция V#record_name.field_name скомпилируется в тот же get_tuple_element
тут literal #{ K => V || {K, I} <- [{a, #bench_rec.a}, {b, #bench_rec.b}, {c, #bench_rec.c}], V <- [element(I, Rec)], V /= undefined }. да, чуть быстрее, но незначительно
а ты кстати случайно не в консоли проверяешь? В скомпилированном моделе результат может быть сильно другим.
не, не в шелле. бенчами нормальными
почему-то чуть быстрее, чем map comprehension
Обсуждают сегодня