Re[6]: PEG парсеры
От: Тот кто сидит в пруду Россия  
Дата: 28.07.10 21:28
Оценка:
Здравствуйте, pzhy, Вы писали:

J>>>>только одно замечание: имхо, смотреть в сторону flex/bison имеет смысл только если гонишься за скоростью либо генерацией парсеров на нескольких языках, в остальном спирит в плане интеграции с твоим кодом удобнее будет. Особенно Спирит2.


P>>>По скорости в рантайме, думаю спирит будет быстрее. Спирит2, я так и не нашел как к обработчику прикрутить позиционный итератор. Хотя не так долго искал.


ТКС>>В спирите раньше был глобальный мьютекс (сейчас не знаю), который иногда здорово просаживал производительность.


P>Интересно, с чем же он конкурировал? Он что парсит в несколько потоков?


У меня в программе сериализация в xml в несколько потоков, соответственно и парсить надо было в несколько потоков.

P>Когда вешал его, то почему-то видел 100% занятие только одного ядра. Но если все же в несколько потоков, то респект разрабам. Да только по всей логике, так быть не может. Вы с чем то путаете


Сейчас проверил — в версии 1.42 данный мьютекс по-прежнему в наличии, ищется по макросу BOOST_SPIRIT_THREADSAFE. Хотя раньше вроде как-то слегка по другому там все было. На кой черт он понадобился в object_with_id_base — понятия не имею. Я при возникновении проблемы просто переписал xml-парсер без спирита, благо были и другие показания (рекурсивное правило, которое я не знал как переписать со спиритом без рекурсии и которое иногда роняло программу). Стало быстрее.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.