ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
329245 Топик полностью
fk0, легенда (17.05.2012 17:38, просмотров: 157) ответил MegaJohn на ключевое слово "кажется". Деятели на C# даже не задумываются что и как работает. Эти все тяжелые regexp - всё их плоды. Для многих уже strlen выполняется за один такт. Куда катится мир.
Не надо превращаться в ассемблериста. regexp'ы умеют превращаться в весьма быстрые конечные автоматы. В особо тяжёлых случаях -- с прямой генерацией C-кода и пропусканием его через компилятор перед обработкой данных. Самодельный разбор BER по-битикам или чего-то такого может оказаться более медленным (дада, современный grep по 4 символа за раз на 32-битных машинах умеет). И таки да, strlen может выполняться отнюдь не за strlen(s) тактов, если вспомнить паскалевский формат хранения строк. А на самом деле он и используется в "тяжёлых ЯВУ", C-строки -- это грязный хак для маленьких программок (неимоверно доставляет, если в обрабатываемых файлах есть нули...)
[ZX]