Привет. Собственно инетерсует - занимался ли кто матчингом урлов в луа по шаблонам? Те например pattern = "(.*)mail.ru(.*)"; url = "http://www.mail.ru"; local res = string.match(url, pattern); if res ~= nil then print ("Found"); end Это все просто для примера. Боевой код норм запилен и работает, но вот что не нарвится - это производительность string.match/gmatch. Она ужасает, что логично - Вм все таки (хотя блджад там биндинги на сишечку), но блин... Есть ли у кого опыт как это заооптимизить? Есть вариант hyperscan прикрутить - но это жуть как брутально... Спасибо.
В общем решил так. Реализовал на плюсах на базе std::regex_match, ее забиндил в луа и оттуда юзаю заместо встроенных. Скорость выросла с ~10с до ~200мс на тестовой выборке... Караул в общем)
есть boost (https://www.boost.org/users/download/). а что тебе так луа понадобилась.. заменить нельзя?
UbIvItS, я в курсе про бустовые регулярки. и там они хороши, но мне не нужен буст в той части кода. луа - dsl в той части проекта и себя она зарекомендовала более чем норм. просто матчинг отстой, но я так понял это оказалось известной проблемой, после гуглинга.