计算变量长度

计算变量长度

首先我们定义一个变量chars,然后用不同的方法计算chars的长度,并对比不同方法下的耗时时间.
以下为实验结果:
[root@dbserver ~]# chars=seq -s " " 100
[root@dbserver ~]# echo $chars
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
[root@dbserver ~]# echo ${#chars}
291
[root@dbserver ~]# echo $chars|wc -m
292
结果如下:
[root@dbserver ~]# time for i in $(seq 11111);do count=${#chars};done;

real 0m2.717s
user 0m2.673s
sys 0m0.008s
[root@dbserver ~]# time for i in $(seq 11111);do count=echo ${chars}|wc -m;done;

real 0m51.586s
user 0m11.065s
sys 0m40.068s
[root@dbserver ~]# time for i in $(seq 11111);do count=echo expr length "${chars}";done;

real 0m24.581s
user 0m4.034s
sys 0m14.464s
结论:查询的速度相差几十甚至上百倍,所以调用外部命令处理与内置功能处理的操作性能相差较大,在shell编程中,应尽量用内置操作或函数完成.

上一篇:【2】数据结构之列表、列表函数


下一篇:在地址栏里输入一个URL,到这个页面呈现出来,中间会发生什么?