5 ms·
The Treacherous Optimization (2006)
- saagarjha 7y agoNew versions of grep just call regexec(3): https://github.com/apple-open-source-mirror/text_cmds/blob/94b08bd3a5db772a7e1f25baed9e1176ad22c2e9/grep/util.c#L358 https://github.com/apple-open-source-mirror/text_cmds/blob/9...
- tedunangst 7y agoEh, well... that's not gnu grep. Also you will notice a call to fastexec four lines above, which uses a somewhat specialized matcher that's not libc regex.
- saagarjha 7y agoI am aware, Apple took it out a while sometime after Mac OS X Lion (presumably because it was GPL? This is the last I saw of it: https://github.com/apple-open-source-mirror/grep/commit/0b404719ca81df65899cc4266fd09af5247b9917 https://github.com/apple-open-source-mirror/grep/commit/0b40...) fastexec is not called because Apple compiles with WITHOUT_FASTMATCH: https://github.com/apple-open-source-mirror/text_cmds/blob/94b08bd3a5db772a7e1f25baed9e1176ad22c2e9/xcconfigs/grep.xcconfig#L13 https://github.com/apple-open-source-mirror/text_cmds/blob/9....
- ggm 7y agoThe grep author coded with ASR-33 teletype. He didn't eat cheezels at his keyboard AFAIK or mumble. He is a highly educated mathematician. G/RE/P is the instantiation of the regex model in UNIX, and comes from Ken Thompson directly. Its the same model in ed, and in sed, and awk.
- saagarjha 7y agoA somewhat relevant read from the author: https://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html https://lists.freebsd.org/pipermail/freebsd-current/2010-Aug...
- ggm 7y agoOh, the guys who came after may have feasted on pizza, but they are hardly the "original grep author" are they? I imagine the author of grep, Ultimate Unix Geek, squinting at vi; Either qualify "which grep" or define "author" because to me, Cervantes wrote Don Quixote, not the translator.
- juliangoldsmith 7y agoI also do not believe that Ken Thompson is the author's ex-girlfriend.