Столкнулся с проблемой медленной работы токенайзера и нашел решение как исправить это.
В моем случае причина медленной работы была в большом количестве найденных совпадений в регулярном выражении и очень медленной работы метода Количество у объекта КоллекцияСовпаденийРегулярногоВыражения в этом месте. Оборачивание в Попытку Исключение вместо вызова метода Количество уже дало ускорение х20 в моем случае, но вместо этого лучше оптимизировать объект РегулярноеВыражение, которое передается в спецификацию токенайзера:
- В паттерне всегда должен быть оператор начала строки
^. Пример: ^[a-zA-Z]+
- Для объекта
РегулярноеВыражение устанавливать свойство Многострочный = Ложь.
В этом случае при выполнении регулярного выражения всегда будет максимум 1 найденное совпадение. В моем случае для многострочного текста с 20 тыс. токенами дало прирост x70 к производительности .
Столкнулся с проблемой медленной работы токенайзера и нашел решение как исправить это.
В моем случае причина медленной работы была в большом количестве найденных совпадений в регулярном выражении и очень медленной работы метода
Количествоу объектаКоллекцияСовпаденийРегулярногоВыраженияв этом месте. Оборачивание вПопытку Исключениевместо вызова методаКоличествоуже дало ускорение х20 в моем случае, но вместо этого лучше оптимизировать объектРегулярноеВыражение, которое передается в спецификацию токенайзера:^. Пример:^[a-zA-Z]+РегулярноеВыражениеустанавливать свойствоМногострочный = Ложь.В этом случае при выполнении регулярного выражения всегда будет максимум 1 найденное совпадение. В моем случае для многострочного текста с 20 тыс. токенами дало прирост x70 к производительности .