小编kum*_*mar的帖子

构建的grep比Linux附带的grep慢

我试图理解为什么我构建的grep比系统附带的grep慢得多,并试图找到系统附带的grep使用的编译器选项.

操作系统版本:CentOS版本5.3(最终)grep系统:

  Version: grep (GNU grep) 2.5.1
  Size: 88896 bytes
  ldd output: 
 libpcre.so.0 => /lib64/libpcre.so.0 (0x0000003991800000)
 libc.so.6 => /lib64/libc.so.6 (0x0000003985a00000)
 /lib64/ld-linux-x86-64.so.2 (0x0000003984a00000)

grep由我建造:

  Version: 2.5.1
  Size: 256437 bytes
  ldd output:
 libpcre.so.0 => /lib64/libpcre.so.0 (0x0000003991800000)
 libc.so.6 => /lib64/libc.so.6 (0x0000003985a00000)
 /lib64/ld-linux-x86-64.so.2 (0x0000003984a00000)

在大型列表文本文件上运行正则表达式搜索时,系统grep(330 msecs)的性能比我构建的grep(22430 msecs)快得多.

以下是我以前的时间命令..

% time src/grep ".*asa.*" large_list.txt > /dev/null
real 0m22.430s
user 0m22.291s
sys 0m0.080s

要么

% time bin/grep ".*asa.*" large_list.txt > /dev/null
real 0m0.331s
user 0m0.236s
sys 0m0.081s

系统grep显然正在使用一些可提供巨大性能差异的优化选项.

有些人可以帮我解决系统grep可能构建的选项吗?

这是我构建时其中一个源文件的编译选项..
gcc -DLIBDIR=\"/usr/local/lib\" -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl …

grep gcc compiler-flags

7
推荐指数
2
解决办法
763
查看次数

标签 统计

compiler-flags ×1

gcc ×1

grep ×1