O Google lançou, sob uma licença de código aberto, uma biblioteca de expressões regulares que se diferencia por ter garantia de tempos de busca lineares, uso limitado da pilha e maior desempenho, melhor adequada à maneira e escala em que as expressões regulares são usadas em serviços de lá.
Maiores informações e o código para download estão disponíveis no site do projeto. (via h-online.com)
Veja abaixo o texto enviado por André Machado (andreferreiramachadoΘgmail·com):
Enviado por André Machado (andreferreiramachadoΘgmail·com):
“O Google acaba de liberar a RE2, uma biblioteca de expressões regulares para a linguagem de programação C++, baseada na teoria de autômatos, com capacidade de uso limitado da pilha e alta performance. As expressões regulares foram introduzidas pela primeira vez em 1970 por Ken Thompson, como uma forma de descrever padrões de texto em seu editor de texto QED. Desde então, as expressões regulares foram incorporadas de forma profunda na cultura Unix, em ferramentas como ed, sed, grep, egrep, awk e lex, além de estar embarcada no núcleo de linguagens como Perl, Python e JavaScript. As expressões regulares também se tornaram parte da cultura geek.” [
referência: under-linux.org]
Mas ER não é naturalmente baseado em autômatos?
Para aqueles que não acreditam em tudo que lêem, um hacker testou a lib do google comparando-a com a Boost e a da GNU. O resultado mostrou que trata-se de marketing somente, a performance não é nem a metade da implementação de RE na Boost!!!
Leiam os comentários em: http://under-linux.org/content/google-libera-biblioteca-de-expressoes-regulares-re2-para-c-409/
[ ]s
“Um hacker”… Hahahaha… Adorei a caracterização.
No entanto, essa comparação não tem nenhum valor estatístico. Ele usou um subconjunto muitíssimo pequeno de expressões regulares e analisou um único caso! Um teste bem-feito teria utilizado todos os recursos possíveis e imagináveis, inclusive tendo o cuidado de pesquisar casos de borda e expressões com backtracking e recursões exageradas.
“…uso limitado da pilha e maior desempenho, melhor adequada à maneira e escala em que as expressões regulares são usadas em serviços de lá.”
Qual parte de ‘são usados em serviços de lá’ as pessoas não conseguem entender?
Os caras fizeram uma API que atende eles bem melhor que os originais, publicam para o mundo de forma open source, e vocês vêm dizer que é mentira deles????
Faça-me o favor…
Mais uma opção e melhor ainda, com código aberto e sob licença BSD.
Fui ver o Link do “Hacker” e parece que o Under-linux está sobrecarregado….eheheheheh
Não precisamos de esmolas!!! O Google é mau!!! Est código é impuro e quem usar estará fora da gloria do Software Livre. Amem.
Impuros de uma figa!!!
Mostrem o pagerank!!! Queremos esta código.
:)
Só acho que as pessoas devem tomar cuidado :
Priorizar a contribuiçao de uma corporação em vez de uma implementação feita com uma licença com compyleft.Se isso continua , a comunidade fica inteiramente dependente de um software que pode ser fechado.