gpt4 book ai didi

regex - 为什么这个grep过滤器很慢?

转载 作者:行者123 更新时间:2023-12-04 07:45:30 27 4
gpt4 key购买 nike

我想获得BSD字典单词列表中每个单词的前两个字母,但不包括那些仅以一个字母开头的单词。

没有一个字母的排除,它的运行速度非常快:

time cat /usr/share/dict/web2 | cut -c 1-2 | tr '[a-z]' '[A-Z]' | uniq -c > /dev/null

real 0m0.227s
user 0m0.375s
sys 0m0.021s

grepping' ..'的过程非常缓慢:
time cat /usr/share/dict/web2 | cut -c 1-2 | grep '..' | tr '[a-z]' '[A-Z]' | uniq -c > /dev/null

real 1m16.319s
user 1m0.694s
sys 0m10.225s

这里发生了什么?

最佳答案

问题是UTF-8语言环境,可轻松实现100倍加速

在Mac上真正慢的是UTF-8语言环境。

grep ..替换LC_ALL=C grep ..,您的命令运行速度将提高100倍以上。

Linux可能也是如此,只是给定的Linux发行版很可能默认使用C环境。

关于regex - 为什么这个grep过滤器很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5398539/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com