The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Компания Google открыла исходные тексты библиотеки регулярны..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от opennews (??) on 12-Мрт-10, 00:09 
Компания Google открыла (http://google-opensource.blogspot.com/2010/03/re2-principled...) под лицензией BSD исходные тексты RE2 (http://code.google.com/p/re2/), написанной на языке C++ библиотеки для организации выполнения PCRE-совместимых регулярных выражений. Библиотека отличается высокой скоростью работы, хорошей безопасностью, поддержкой использования в многопоточных программах. RE2 позиционируется в качестве альтернативы реализаций регулярных выражений в PCRE, Perl и Python, особенно эффективной при обработке больших объемов данных.


Для обработки регулярных выражений в RE2 применен метод автомата (http://swtch.com/~rsc/regexp/regexp1.html), отличающийся линейной (http://pdos.csail.mit.edu/~rsc/regexp-img/grep4p.png) зависимостью между временем выполнения регулярного выражения и размером текста для которого оно применяется. В реализации регулярных выражений в Perl/PCRE подобная зависимость имеет близкий к экспоненциальному (http://pdos.csail.mit.edu/~rsc/r...

URL: http://google-opensource.blogspot.com/2010/03/re2-principled...
Новость: http://www.opennet.ru/opennews/art.shtml?num=25765

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Компания Google открыла исходные тексты библиотеки регулярны..."  +1 +/
Сообщение от Аноним (??) on 12-Мрт-10, 00:09 
лучше чем буст?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Компания Google открыла исходные тексты библиотеки регулярны..."  +1 +/
Сообщение от zhus (ok) on 12-Мрт-10, 00:33 
да :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от pavlinux (ok) on 12-Мрт-10, 01:53 
>да :)

sed !? Не?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Компания Google открыла исходные тексты библиотеки регулярны..."  –7 +/
Сообщение от LolzN00b on 12-Мрт-10, 00:22 
У Google пока ничего хорошего не было, кроме, быть может, поиска.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от ASM (??) on 12-Мрт-10, 00:34 
Поиск построенный на плохих регекспах... Вероятно всё скоро измениться...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Онаним on 12-Мрт-10, 03:59 
В поиске Google уже можно использовать regexp-ы?? Я опять проспал обед?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

23. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от ПринцЧорнойТьмы email(ok) on 12-Мрт-10, 08:53 
http://www.google.com/codesearch -- тут можно.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Ноним on 12-Мрт-10, 00:41 
google search, google mail и самое главное google adwords и adsense (на них они сделали весь свой капитал) это о популярных продуктах.
А так их продукты все хороши
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Компания Google открыла исходные тексты библиотеки регулярны..."  –5 +/
Сообщение от аноним on 12-Мрт-10, 04:41 
Поиск да. codesearch очень да. web-почта, да еще и прямо у большого брата, хорошей не может быть по определению. ad* это поганая реклама, ее хорошей может разве что больной назвать. Хорошо в ней то, что она элементарно банится adblock'ом.
Я бы лучше вспомнил нормальные опенсорсные не-web проекты, как-то protocol buffers, google perftools. Почти все остальное откровенный мусор - браузер-троян, попытки изменений в DNS для шпионства за пользователями, недоось бесполезная без сети и продажи души гуглу, откровенно провальная невнятность wave, куча тормозных java и javascript нашлепок.
Ну еще можно дать картонную медаль за первопроходчество - например, maps первые сделали они, и поиск маршрута по ним тоже. Потом в яндексе это сделали лучше и с пробками, а в OSM вообще замечательно, гибко и свободно.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "Компания Google открыла исходные тексты библиотеки регулярны..."  +3 +/
Сообщение от Ноним on 12-Мрт-10, 06:07 
"ad* это поганая реклама, ее хорошей может разве что больной назвать."

Если бы ты на ней деньги умел зарабатывать, ты бы так не говорил.

"не-web проекты, как-то protocol buffers, google perftools."
Кстати да, MapReduce etc

"Почти все остальное откровенный мусор - браузер-троян"
Ложь, вы слышали звон каких-то фанатиков и толком не стали разбираться в чем дело, советую вам еще раз пойти по интернетам и собрать информации о Chrome. Клон Iron был создан только ради PR.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от pavlinux (ok) on 12-Мрт-10, 01:46 
Некоторые люди, сталкиваясь с проблемой, думают,
"- Я знаю, я буду использовать регулярные выражения",
Теперь у них есть две проблемы. :)

                               (c) Джэйм Завински

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Компания Google открыла исходные тексты библиотеки регулярны..."  –1 +/
Сообщение от pavlinux (ok) on 12-Мрт-10, 01:32 
> $ perl -e '("a" x 100000) =~ /^(ab?)*$/;'
> Segmentation fault (core dumped)
>$

pavel@suse64:/tmp> perl -e '("a" x 100000) =~ /^(ab?)*$/;'
pavel@suse64:/tmp> echo $?
0

Просто в гугле юзают х...вый Perl :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Компания Google открыла исходные тексты библиотеки регулярны..."  –2 +/
Сообщение от iZEN (ok) on 12-Мрт-10, 02:45 
Почему под BSDL? (Риторический вопрос)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от аноним on 12-Мрт-10, 04:42 
>Почему под BSDL? (Риторический вопрос)

А под чем еще?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Компания Google открыла исходные тексты библиотеки регулярны..."  –2 +/
Сообщение от СуперАноним on 12-Мрт-10, 07:08 
Библиотеку логично под LGPL
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

25. "Компания Google открыла исходные тексты библиотеки регулярны..."  +2 +/
Сообщение от www2 email(ok) on 12-Мрт-10, 09:27 
Логично для кого?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Компания Google открыла исходные тексты библиотеки регулярны..."  –2 +/
Сообщение от Аноним (??) on 12-Мрт-10, 07:25 
потому что своя свобода дороже свободы какого-то там кода
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

24. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Michael Shigorin email(ok) on 12-Мрт-10, 09:20 
>Почему под BSDL? (Риторический вопрос)

Видимо, потому что PD не по всем юрисдикциям признаётся, а смысл выпуска -- стандартизировать реализацию де-факто.  Гругря им сиренево в крапинку, потому как ни возврата кодом, ни тем более денег от этого напрямую не ожидают.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от ACCA (ok) on 12-Мрт-10, 05:43 
>Для обработки регулярных выражений в RE2 применен метод автомата (http://swtch.com/~rsc/regexp/regexp1.html), отличающийся линейной

Походу беспонтовый гон, либо в 2007 году был баг в Perl 5.8.7.


$ perl -e '$n = 100; $x="a?"x $n . "a" x $n; $t = "a" x 100000; if ($t =~ /$x/){ print "match\n"; }'

match

Perl 5.10.0 отработал мгновенно, а обещали 10**15 лет.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

26. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Дмитрий Телегин email on 12-Мрт-10, 09:36 
>С точки зрения потребления памяти, размер стека в RE2 имеет фиксированную величину

Это очень здорово, так как поиск в гигабайтных файлах не имеющих символов конца строки у меня когда-то сжирал всю оперативку.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

27. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Карбофос (ok) on 12-Мрт-10, 10:14 
поиск результатов скана снифера? если бы я часто такое использовал, то написал бы программку с доступом к файлу блоками. максимальный размер памяти - размер блока * 2, чтобы не было особых потерь в скорости скана и учитывать то, что строка может быть в двух блоках. для такой задачи не нужна вся оперативка :)
чем искал-то?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

30. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Unixoid_потому_что_кривые_руки_писали_этот_модуль email(ok) on 12-Мрт-10, 12:46 
В boost кстати блочные регэкспы есть, я даже юзал когда-то вроде, уже не помню.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

32. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Карбофос (ok) on 12-Мрт-10, 13:39 
спасибо за инфу, надо будет посмотреть...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

33. "Компания Google открыла исходные тексты библиотеки регулярны..."  +3 +/
Сообщение от Дмитрий Телегин email on 12-Мрт-10, 14:07 
>чем искал-то?

Написал свою маленькую шуструю программку, позволяющую искать в разных кодировках и использующую фиксированный буфер памяти, но без регулярных выражений :)
http://sourceforge.net/projects/findstr/

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

35. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Карбофос (ok) on 12-Мрт-10, 16:18 
а вот за открытый проект - плюсик
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

37. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Аноним (??) on 12-Мрт-10, 18:21 
Ну разве что за это :)

Потому что аффтар явно не осилил в дупель стандартную, требуемую POSIX'ом опцию -F (grep -F) ... Я так ищу в *.iso и *.gho и *.tib - пожирание быстро доходит до 500KiB и больше не растёт. Deban Lenny, размер имиджей - один DVD (4.3GB).

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

39. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Карбофос (ok) on 12-Мрт-10, 20:14 
ну может он делал мультиплатформенную прогу? в виндах с такими фишками, как grep, вообще полный абзац. кстати, я про опцию -F не знал (стыдно!). просто сканировать как-то большие файлы не приходилось...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

40. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Xaionaro email(ok) on 13-Мрт-10, 14:21 
Под винду ж вроде существует пакет GNU утилит.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

42. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Mna (??) on 13-Мрт-10, 16:24 
>ну может он делал мультиплатформенную прогу? в виндах с такими фишками, как
>grep, вообще полный абзац. кстати, я про опцию -F не знал
>(стыдно!). просто сканировать как-то большие файлы не приходилось...

Cygwin существует и давно стабильно работает (http://cygwin.com)

Недавно доделали работу с UTF-8 в консоли (bash), что не может не радовать.

Там так же хорошо работают man и info.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

43. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Карбофос (ok) on 13-Мрт-10, 17:12 
хех. да знаю я про это, народ. только далеко не все вантузятники это знают.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

46. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Дмитрий Телегин email on 15-Мрт-10, 08:58 
> ну может он делал мультиплатформенную прогу? в виндах с такими фишками, как grep, вообще полный абзац. кстати, я про опцию -F не знал (стыдно!). просто сканировать как-то большие файлы не приходилось...

Не кросплатформенную, я на Debian давно. Кстати если бы опция -F работала, то наверное не писал бы своего :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

45. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Дмитрий Телегин email on 15-Мрт-10, 08:51 
> аффтар явно не осилил в дупель стандартную, требуемую POSIX'ом опцию -F

Осилил и к сожалению проку от неё было немного. Если она сейчас работает как положено, то только рад :) да и моя программка актуальности не потеряла: и буфер можно задать и кодировки.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

49. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Дмитрий Телегин email on 15-Мрт-10, 09:52 
> Если она сейчас работает как положено, то только рад

Только что потестил опцию F и ничего радостного...

dd if=/dev/zero of=test bs=1M count=2000
grep -F qwer test

У меня на ноутбуке всего 1 Гб и через несколько секунд я получил:
grep: test: Невозможно выделить память

Для моей программки такие поиски для оперативки ничего не стоят, как собственно и поиски на /dev/sda :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

28. "Компания Google открыла исходные тексты библиотеки регулярны..."  +1 +/
Сообщение от svn (??) on 12-Мрт-10, 10:26 
Не пойму ажиотажа.

backreference NOT SUPPORTED. Вот и весь секрет трудоёмкость линейной.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

31. "Компания Google открыла исходные тексты библиотеки регулярны..."  +1 +/
Сообщение от DeadLoco (ok) on 12-Мрт-10, 12:59 
Да там не только бекреференсы пострадали, а вообще все тяжелые операции, включая lookahead/lookbehind. Фигня, короче.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

38. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Аноним (??) on 12-Мрт-10, 18:32 
>Фигня, короче.

Ну чего же сразу фигня то?
А если не нужны баки, а скорость и небольшое предсказуемое потребление рамы - нужны?

PS: man grep, "Known Bugs" section:

Large repetition counts in the {n,m} construct may cause grep to use lots of  memory. In addition, certain other obscure regular expressions require exponential time and space, and may cause grep to run out of memory.

Back-references are very slow, and may require exponential time.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

44. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от DeadLoco (ok) on 13-Мрт-10, 19:05 
>>Фигня, короче.
>
>Ну чего же сразу фигня то?
>А если не нужны баки, а скорость и небольшое предсказуемое потребление рамы - нужны?

Тогда не нужно сравнивать с PCRE.

"Наш велосипед значительно выигрывает по массо-габаритным характеристикам у Бугатти Вейрон..."

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

29. "Компания Google открыла исходные тексты библиотеки регулярны..."  +1 +/
Сообщение от Аноним (??) on 12-Мрт-10, 11:48 
"В RE2 полностью поддерживается синтаксис регулярных выражений Perl и PCRE."
НАГЛАЯ ЛОЖЬ!
http://code.google.com/p/re2/wiki/Syntax
"Grayed out expressions are not supported by RE2."
А таких там много.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

34. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Дмитрий Телегин email on 12-Мрт-10, 14:25 
>"Grayed out expressions are not supported by RE2."
>А таких там много.

Согласен, что не мало, но там большая часть серого от VIM. Убрав его синтаксис картина становится лучше.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

36. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от DeadLoco (ok) on 12-Мрт-10, 17:22 
>>"Grayed out expressions are not supported by RE2."
>>А таких там много.
>
>Согласен, что не мало, но там большая часть серого от VIM. Убрав
>его синтаксис картина становится лучше.

Лучше чего?

RE2 несравнима с PCRE по функционалу. Фактически, RE2 - куцое подмножество регулярных выражений вообще. Да, в этом подмножестве она может работать оптимальнее PCRE, что не удивительно. Но RE2 - это RE2, а PCRE - это PCRE.

Лично я уважаю PCRE за богатство функционала при конечности FSA :) и за возможность хранить прекомпилированные FSA для массового повторного использования.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

48. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Дмитрий Телегин email on 15-Мрт-10, 09:09 
>>Согласен, что не мало, но там большая часть серого от VIM. Убрав
>>его синтаксис картина становится лучше.
>
>Лучше чего?

Лучше чем с особенностями VIM нереализованными в ни RE2 ни в PCRE :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

41. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от ACCA (ok) on 13-Мрт-10, 15:41 
>>"Grayed out expressions are not supported by RE2."
>>А таких там много.
>
>Согласен, что не мало, но там большая часть серого от VIM. Убрав
>его синтаксис картина становится лучше.

Угу. Ещё убрав синтаксис Perl и половину PCRE.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

47. "Компания Google открыла исходные тексты библиотеки регулярны..."  +/
Сообщение от Дмитрий Телегин email on 15-Мрт-10, 09:02 
>>Согласен, что не мало, но там большая часть серого от VIM. Убрав
>>его синтаксис картина становится лучше.
>Угу. Ещё убрав синтаксис Perl и половину PCRE.

Какой смысл здесь утрировать? Посмотрите сколько в % останется серого если убрать особенности vim. Или список даже просмотреть внимательно не удосужились?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру