Старый вопрос, с которым я столкнулся, когда искал какую-то информацию о Духе, но я решил, что я поставлю свои 2 цента здесь для будущих читателей.
Сначала я был довольно ошеломлен кривой обучениядуха, до такой степени, что я почти сдался.Но я очень рад, что продолжал идти.Производительность этого парсера просто больная.Ранее я использовал PCRE для анализа заголовков HTTP с помощью некоторых простых регулярных выражений.Это довольно простая операция, и PCRE довольно быстрый, поэтому я не ожидал увидеть значительное улучшение - если таковое имеется - скорости.
Мальчик был удивлен, увидев, что он увеличил производительность более чем2000%.С помощью Spirit я могу анализировать 100 000 наборов HTTP-заголовков с частотой чуть более 1/4 секунды.
И этот кикер в том, что код настолько чистый и компактный по сравнению с аналогичным кодом с PCRE.Моя первоначальная функция, состоящая из 80 строк PCRE gobbledygoop, теперь представляет собой симпатичную маленькую 14-строчную духовную грамматику и адаптер Fusion для передачи результатов непосредственно в мою структуру класса.
Трудно усвоить, а время сборки можетполучить довольно плохо, но выигрыш фантастический.