Vladislav
а в конфиге что?
VR
буст там надо 1.64 у меня через брю 1.65
VR
Про конфиг. Ты про какой
Vladislav
config.ini
Vladislav
ты README читал?
VR
в кофиге то что по мануалу
VR
там при запуске другая ошибка была
Vladislav
там при запуске другая ошибка была
ну, попробуй откатиться на последнюю версию, для которой прошли integration тесты (https://github.com/EOSIO/eos/commit/9e599d2571a62cabf05ae2ec05ce136b7e6a5a00)
Evgenii
Aidar
не стыдно?
Я уже рассказывал свою политику в отношении книг, я покупаю их после прочтения(возможно частичного)
Vladislav
ну почитай sample, что ли
Aidar
Ну не настолько
Vladislav
у издателя 45 дней 100% refund policy, успеешь прочитать?)
Aidar
Кажись в книге ничего нового не прочту кроме с++20 заготовок
Square
Мэтчинг буфера производится _внутри_ HS на скомпилированном автомате. Задача внешнего кода - просто отправить туда данные. Я не прошу "общих советов", я в курсе как профилироваться и отлаживаться. Я спрашиваю конкретно по гиперскану.
Порешал? А какие данные для матчинга отдаёшь? Может в них проблема. Попробуй изменить регекс. Например добавить что 16ть нулей должны быть на границе ненулей или типа того...
Square
Вообще странно, регекс простой вроде. Я могу у себя попробовать воспроизвести его - отпишусь к вечеру. У меня гс такую дичь матчит без особых просадок в производительности.
Square
Неа. Репортить наверное буду.
Мне кажется проблема в haystack'ах твоих
Square
Слишком много нулей в буфере?
Anton
Порешал? А какие данные для матчинга отдаёшь? Может в них проблема. Попробуй изменить регекс. Например добавить что 16ть нулей должны быть на границе ненулей или типа того...
Да я как только эту радость не вращал. Занятие это так себе, о том даже дока гласит: "не лезь, дурак, мы тебе сами всё там соптимиздим". Дальнейшие эксперименты с базой показали, что есть ещё плохие регулярки, которые снижают сильно производительность. Беда с ними в том, что такое поведение обусловлено набором компилируемых регекспов. А у меня их там 2500+. Грубо говоря, отпилил 1000 регулярок - медленно. Отпилил ещё одну плохую - стало быстро. Вернул ту 1000 - опять медленно стало.
Square
А насколько медленно?
Square
И какой проц? C Avx?
Anton
А насколько медленно?
Ну с 1кк мэтчей/сек до 250к
Square
Anton
На любых данных?
Нет конечно :)
Square
Ну начить проблема в твоих данных и надо подогнать Регекс под них. Интел тебе не особо поможет. Поиграй с флагами ещё. Чтоб до первого совпадения искал, там по-моему есть такой
Anton
Ну начить проблема в твоих данных и надо подогнать Регекс под них. Интел тебе не особо поможет. Поиграй с флагами ещё. Чтоб до первого совпадения искал, там по-моему есть такой
Это всё перепробовано ессесно. Это поведение аномально, странно было бы даже если флаги такое влияние оказывали или окружение. А что касается данных, ну так тут логично, что цифры разные будут. А подгонять - не выход ввиду специфики задачи. По этой божественной базе планируется совершенно разный трафик пускать.
Anton
Ну начить проблема в твоих данных и надо подогнать Регекс под них. Интел тебе не особо поможет. Поиграй с флагами ещё. Чтоб до первого совпадения искал, там по-моему есть такой
Может и правда не помогут :) Но этож бага чистой воды: вот база скомпилированная, мэтчинг на конкретных данных выполняется за Х. Вот добавляем в базу такую регулярку: в тех же условиях стало 4Х.
Anton
Ура-ура. Upd. Позднячно, конечно.
Anton
Надо подписаться, а то только новости Devuan с Void-ом там почитываю.
Anton
Есесна
Anton
Сегодня вечерочком с коллегами как раз думали, как бы нам "обфусцировать регулярки". Весёлая вышла беседа, да.
Anton
Репортить то как-то придётся.
Square
А не затормозит?
Ну попробовать стоит. Я бы ещё регекс полечил.
Anton
Ну попробовать стоит. Я бы ещё регекс полечил.
Да шо там лечить, ты посмотри на него. Он совсем дохлый.
Square
Добавил что то типа [^\х00]+\х16 bla bla
Square
Ну как там. У тя было
Square
Да шо там лечить, ты посмотри на него. Он совсем дохлый.
А нах тебе начало строки? Если бинарные данные :(
Anton
Ну попробовать стоит. Я бы ещё регекс полечил.
Да и ладно бы он был один. Там дальше вскрылось интересное: вот то, что я описывал с "минус 1000 регулярок". Некоторые "плохие" регулярки являются плохими только в сочетании с другими правилами. Я затрахаюсь по базе из нескольких тысяч регулярок корреляцию руками устанавливать. Счастье, что хоть одно нашёл, которое стабильно даёт просадку. Дихотомия по принципу "отрезать половину базы, скомпилировать, запустить, отрезать четверть... и т.д." - реально то ещё удовольствие.
Anton
А нах тебе начало строки? Если бинарные данные :(
Регулярки генерятся другой моей программой автоматически. На основе одной древней грамматики правил. Те правила фундаментально оперируют с отступами от начала буфера. Короче, оно так by-design, к тому же разрабы гиперскана советуют anchored регулярки
Square
Ппц страхи рассказываешь :/ У меня 500к регексов без проблем гудит :)) Но правда 80% это ни о чем правила
Vladislav
и используется ли в них всякая порнография типа обратных ссылок?
Anton
а у твоих регулярок есть какая-то структура, или произвольные?
Правила сложные. В некоторых правилах, из которых созданы мои регулярки, уже были свои регулярки :D Так что я бы сказал, что структуры никакой нет.
Vladislav
если так, не понимаю как конкретные регулярки могут влиять на производительность скана - это же просто линейный проход по автомату, по идее
Varg
Регулярки не всегда линейны же
Varg
Ну и вообще регулярки это всегда медленно
Anton
если так, не понимаю как конкретные регулярки могут влиять на производительность скана - это же просто линейный проход по автомату, по идее
Линейный то линейный. И ассимптотика во всех случаях одна и та же. Но на конкретные цифры влияет то, как этот автомат скомпилировался. Там же у них шайтан-оптимизации свои.
Square
Ну и вообще регулярки это всегда медленно
Не в случае с гиперсканом ;) Интел черти
Vladislav
Регулярки не всегда линейны же
если они скомпилированы в DFA, экспоненциальным может получиться размер автомата, но на скорость скана это не влияет (ну разве что через плохую кешируемость и когда он в память перестает помещаться)
Square
А ты профайлил и точно уверен что трабл в их коде?
Что ты делаешь на каждый матч? Мб их охуилиард и какой нить вектор у тебя после 10к срабатываний начинает дико релокейтить память?
Anton
Скинул бы svg с трассой, но уже домой приехал.
Square
Если подождёшь 4 часа - я у себя попробую
Square
Регекс точно такой?
Anton
Square
Дык тебе ж база нужна моя.
Ну попробую на своих
Anton
Да, регекс такой.
Square
Хотя, скорее все не особо получится у меня
Anton
Раз есть живой интерес у публики, то ответ интеловцев тоже сюда напишу, если чудо случится :)
Square
У нас тут кстати были люди из Интел)
Square
Префильтр кстати попробовал бы. Прям два экземпляра поиска друг за другом
Anonymous
Доброй ночи!
Anonymous
Есть кто в эфире ? )