Первый блин - комом
Aug 17, 2007 · CommentsWin32.Utf8
Нахваливал я тут PLY, а зря. Разбор двух с половиной мегабайтного заголовка с построением синтаксического дерева занимает верных полторы минуты. И это на AMD Opteron 250 2.4GHz. Эталонный Althon XP, по всей видимости, будет делать то же самое минут десять. Это никуда не годиться.
В профайлере наблюдается вот такая картина:
Время съедает непосредственно разбор, а не анализ результатов разбора и создание синтаксического дерева. Python-ая природа PLY сделала свое черное дело. :-)
Вариантов видится пока два:
-
Портировать парсер на С++ и GNU Bison;
-
Разобраться таки с DParser.
Второй вариант намного предпочтительнее, так как всю логику можно будет по-прежнему писать на Python.