Русское сообщество AutoIt

  • Май 24, 2013, 08:33:27 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

Создана конференция в Jabber'е для обсуждения мелких вопросов касающихся AutoIt.

Всем у кого есть джаббер-клиент, могут присоединиться к конференции по адресу xmpp:autoit@conference.jabber.ru

Комната/Конференция/Чат не призвана заменить этот форум, а лишь для ускорения получения ответов на элементарные и короткие вопросы, которые возможно не требуют создания специальной темы на данном форуме. Для всех остальных, сколь-нибудь сложных и комплексных проблем - исключительно на форум. Комната является постоянной, но при заходе у пользователя будет отсутствовать право писать в общий чат.

Тема на форуме.

Реклама

Автор Тема: [Новая функция] Предкомпиляция регулярного выражения (StringRegExpCompile)  (Прочитано 3018 раз)

0 Пользователей и 1 Гость смотрят эту тему.

amel27 [?]

не секрет, что применение регулярных выражений делится на два этапа:

- предкомпиляция выражения;
- выполнение скомпилированного выражения с целевым текстом

каждый из этих этапов отнимает драгоценные "тики" процессора... при разборе больших текстов время компиляции несущественно, но для коротких строк это время значительно превосходит время выполнения и тут уже не поможет никакая оптимизация регулярного выражения... ситуация усугубляется для случая, когда одно выражение применяется в цикле (например, по массиву строк) - каждый вызов приводит к ненужной перекомпиляции одного и того же выражения

отсюда возникает потребность в ф-ции предварительной компляции выражения в хэндл, который может затем применяться в StringRegExp/StringRegExpReplace наравне с самим выражением, вполне вероятно потребуется парная ф-ция закрытия хэндла/освобождения памяти

как следует из PCRE man page, движок поддерживает эту возможность


Добавлено: Апрель 06, 2010, 11:58:02




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1946
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 6246
  • Версия AutoIt: 3.3.8.1
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Супер, переведу на Английский и буду репортить, это действительно поможет ускорить обработку р.выражений.




  Записан
Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.

   Онлайн видео!

«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Suppir [?]

amel27, если не секрет, на чем сидел до AutoIt? :)




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1946
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 6246
  • Версия AutoIt: 3.3.8.1
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Цитата
It is not a secret that the use of regular expressions is divided into two phases:

- Expression precompilation;
- Execution of compiled expression with target text

Each of these phases takes precious time (processor ticks)...  when dealing with large texts, compilation time is unimportant, but for short lines this time greatly exceeds the execution time, and any kind of regular expression optimization will not help here... the situation is exacerbated for the case when one expression is used in the cycle loop (for example, an array of lines) - each call leads to unnecessary recompilation of the same expression.
Hence the need for a function to pre-compile the expression in the handle, which can then be applied to StringRegExp/StringRegExpReplace on a par with the very expression, most likely it will require a steam function to close the handle / free memory.

Following the PCRE man page, the engine supports this possibility.

Отправлять?

P.S
Только вот как тикет назвать?




  Записан

amel27 [?]

Цитата
уфф, эт не ко мне - в буржуйском не силен... :(

Только вот как тикет назвать?
может, "RegExp precompile handling"?

amel27, если не секрет, на чем сидел до AutoIt?
не секрет - форт, бейсик, с регулярками познакомился только в AutoIT




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1946
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 6246
  • Версия AutoIt: 3.3.8.1
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды




  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
[Новая функция] OnScreenDisplay [OSD]
Баг-репорты и запросы на новые функции
Redline 5 5443 Последний ответ Ноябрь 26, 2009, 14:53:56
от CreatoR
[новая функция] альтернативный метод работы PixelSearch
Баг-репорты и запросы на новые функции
C2H5OH 0 1046 Последний ответ Декабрь 12, 2011, 18:50:06
от C2H5OH
[Данные, строки] Преобразование строки с помощью регулярного выражения
Регулярные выражения и прочее
Math 1 770 Последний ответ Декабрь 30, 2011, 19:27:41
от madmasles
Перенесено: [Данные, строки] Преобразование строки с помощью регулярного выражения
AutoIt для новичков
Kaster 0 580 Последний ответ Декабрь 30, 2011, 22:37:28
от Kaster
[Новая функция] Запрос на новую функцию или макро для возвращения текущей функции
Баг-репорты и запросы на новые функции
Kaster 14 1971 Последний ответ Январь 10, 2012, 03:37:47
от Kaster
[Новая функция] дополнительный параметр для _IELinkClickByText
Баг-репорты и запросы на новые функции
C2H5OH 0 851 Последний ответ Январь 09, 2012, 12:08:49
от C2H5OH
[Элементы GUI] Новая функция для каждой кнопки в GUI?
AutoIt для новичков
rollex 1 482 Последний ответ Март 29, 2012, 17:14:33
от AZJIO
[Новая функция] Возможно ли в AutoIt создать новый тип данных - массив функций?
Баг-репорты и запросы на новые функции
C2H5OH 12 1804 Последний ответ Январь 12, 2013, 20:43:29
от erlik
[Данные, строки] возможно ли применение регулярного выражения для сылки
Регулярные выражения и прочее
general66 11 1185 Последний ответ Октябрь 14, 2012, 22:02:33
от general66
[Новая функция] В AutoIt поддержка технологии Active Scripting?
Баг-репорты и запросы на новые функции
Renz 3 467 Последний ответ Апрель 10, 2013, 11:49:48
от Renz


Реклама

* Последние сообщения на форуме
post [Сеть, интернет] Вернуть значение переменой javascript с сайта средствами autoit
[AutoIt для новичков] Black_Hole Сегодня в 07:55:33
post Re: Отлов сетевой активности браузера
[Автоматизация IE и Web-интерфейса] CreatoR Сегодня в 03:29:10
post Re: Отлов сетевой активности браузера
[Автоматизация IE и Web-интерфейса] asdf8 Сегодня в 01:42:12
post Re: Отлов сетевой активности браузера
[Автоматизация IE и Web-интерфейса] CreatoR Сегодня в 00:58:08
post Re: Добавление файлов в архив в указанную папку
[AutoIt для новичков] CreatoR Сегодня в 00:37:10
post Re: Ошибки в элементарном скрипте
[AutoIt для новичков] CreatoR Сегодня в 00:31:21
post Ошибки в элементарном скрипте
[AutoIt для новичков] ArgoNaft Май 23, 2013, 23:12:38
post Перенесено: [Массивы] _ArrayDelete очень медленный
[Автоустановка приложений] CreatoR Май 23, 2013, 21:27:20
post Re: При вызове СОМ-объекта возвращаемая строка обрывается на символе NUL
[ActiveX/COM (AutoItX)] madmasles Май 23, 2013, 21:21:28
post Re: [Массивы] _ArrayDelete очень медленныйAZJIO
[AutoIt для новичков] peter911 Май 23, 2013, 21:16:27

* Пользователи онлайн
  • Dot Гостей: 101
  • Dot Скрыт: 2
  • Dot Пользователей: 19
  • Dot Пользователи Online: