Ответ 1
Если вам нужны регулярные выражения, вы можете получить увеличение производительности по сравнению с механизмом регулярных выражений по умолчанию, используя библиотеку PCRE (установив perl=TRUE
). В ?grep
есть другие рекомендации по производительности:
Показатели производительности:
Если вы выполняете много регулярных выражений, включая очень длинные строки, вы захотите рассмотреть используемые варианты. Обычно PCRE будет быстрее, чем стандартное регулярное выражение по умолчанию движок и "fixed = TRUE быстрее все еще (особенно, когда каждый шаблон совпадает только несколько раз).
Если вы работаете в однобайтовой локали и отмечаете UTF-8 строки, которые представляются в этой локали, сначала преобразуют их как только одна строка UTF-8 заставит все соответствия выполнить в Unicode, который привлекает штраф около 3x для POSIX по умолчанию 1003.2.
Если вы можете использовать 'useBytes = TRUE, строки не будут перед сопоставлением, и фактическое совпадение будет быстрее. Часто байт-соответствие достаточно в локали UTF-8, поскольку байт-шаблоны один символ никогда не соответствует части другого.