从1m15.605s到0m0.053s
POSTED AT: 2009-09-24 08:30:32 UTC |
POSTED IN: C/GTK/C++/QT |
25 COMMENTS
事情源于昨天晚上butterfly的一个问题:找出一个文本文件中最长的一行,Find the longest line in a text file
由于我上大学后一些错误的观念,所以对算法极其的不重视。现在我所做的就是从头开始顺序读取,然后使用不同的编程语言看看效果。还是先看看結果吧:
环境:文件list.txt是一个16M的纯文本,测试的编程语言(当然有些不能说是编程语言)包括bash、ruby、gawk、python、wc、C(C写出来的效率竟然是wc命令的10多倍)
顺序:从最慢的bash到最快的C
1、BASH脚本
#FILE: long.sh, Author: ABitNo #!/bin/bash max=0 while read line; do if [ ${#line} -gt $max ]; then max=${#line} longest=$line fi done echo $max, $longest exit 0