crypt of decay - August 15th, 2013 [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

August 15th, 2013

про регулярки [Aug. 15th, 2013|01:43 am]
неоднократно встречал явно не декларируемое, но странно прилипчивое мнение, что если в программе нужны регулярные выражения, то лучше всего взять какую-то крутую библиотеку. потому что в glibc хоть тоже регулярки есть, но сделаны как-то «на отъебись», и вообще фу-фу-фу. сам почему-то так считал.

решил тут развлечься синтетическим тестом. вот этим. и таки я вам имею сказать, что реализация glibc порвала всех просто в куски. примерно вот в таком виде:

strstr: 943 ms spent
glibc: 175 ms spent
regexp9: 2731 ms spent
tre: 3050 ms spent
microregexp: не дождался
dietlibc: 7602 ms spent
pcre: 5608 ms spent

такие вот дела, зайчики. попробовал ещё на любимом крайнем случае — microregexp и dietlibc обосрались, остальные ок.

собственно, по ссылке результаты похожие. откуда вывод: стандартное — не всегда хуёвое. иногда стоит не выёбываться, а просто пользоваться тем, что есть в glibc.

тест, конечно, совсем синтетический, но далеко не совсем бессмысленный. если оптимизатор glibc распознал этот случай и скрафтил для него спецалгоритм (лень смотреть в исходники) — молодцы, честь и хвала. а если он не распознал, а всё равно что-то скрафтил — тем более.
Link2 meows|meow!

блядь, это карма [Aug. 15th, 2013|09:02 am]
ну чо, чо, попробовал я этот гуглёвый парзер. и шо вы таки себе думаете? опа-опа, срослась гугля и жопа нашёл ошибку. даже тесткейс есть. гыгыг.
Linkmeow!

navigation
[ viewing | August 15th, 2013 ]
[ go | Previous Day|Next Day ]