Скорость -------- Скорость разбора ^^^^^^^^^^^^^^^^ С pymorphy можно ожидать разбор нескольких сотен русских слов в секунду "из коробки". После дополнительной настройки можно получить производительность в несколько тысяч слов в секунду. Этой скорости достаточно для многих задач (например, для различных экспериментов и задач, связанных с web), но pymorphy в нынешнем виде, думаю, не подойдет, если нужно быстро обрабатывать очень большие объемы данных. В этом случае лучше использовать `lemmatizer `_ или `mystem `_. У pymorphy нет цели быть быстрым, приоритет отдается качеству разбора и легкости сопровождения. С учетом того, что это хобби-opensource-проект, код и алгоритмы должны быть максимально простыми и понятными, чтобы облегчить внесение изменений и доработку под конкретные задачи. На данный момент pymorphy можно заставить работать быстрее несколькими способами: * перейти на более быстрое хранилище (sqlite → cdb → pickle); * отключить ненужные предсказатели; * установить simplejson (для упрощения установки pymorphy его не требует и использует по умолчанию встроенный медленный модуль):: $ pip install simplejson * поставить пакет `pymorphy-speedups `_, который содержит авто-подключаемое Cython-расширение:: $ pip install pymorphy-speedups .. note:: Для установки pymorphy-speedups и simplejson потребуются заголовочные файлы питона и среда с компилятором (как и для сборки любых других расширений). Выбор хранилища для словарей ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pymorphy поддерживает разные форматы для хранения словарей. Формат по умолчанию - sqlite. Этот формат поддерживается везде, не требует настройки, но, одновременно, является самым медленным. Более быстрые альтернативы - cdb, bsddb, tcb, tch - имеют свои плюсы и минусы, отличаются друг от друга способом установки, скоростью и потреблением памяти. Самый быстрый вариант - это загрузка словарей целиком в память (через pickle backend). В этом случае нет задержек на чтение данных с диска и преобразование их в нужный формат (все читается сразу), но расходуется 200-300Мб оперативной памяти. В этот формат словари можно преобразовать с помощью скрипта encode_dicts.py (лежит в репозитории с исходным кодом). Более подробно обо всем этом можно узнать тут: :doc:`/ref/storages`.