计算变量长度

首先我们定义一个变量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编程中,应尽量用内置操作或函数完成.

©著作权归作者所有:来自51CTO博客作者Liujun_Deng的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. C语言:未声明的标识符 问题解决
  2. 算术运算符和表达式
  3. php常量知识点的总结及过滤器的使用(1118)
  4. python单下划线开头和双下划线开头的方法和属性
  5. PHP初级变量类型转换与变量和常量的声明方式
  6. 函数的定义和调用,函数的参数,函数的返回值,匿名函数(闭包)的申明和调
  7. 0126-数据类型的转换与检测技术,变量与常用声明及使用
  8. 数据类型的转换、变量与常量声明和使用
  9. volatile关键字

随机推荐

  1. Android的四种启动方式
  2. Android中生成xml文件
  3. viewpager实现自动循环轮播图
  4. Android基础知识(二)
  5. Android应用程序与SurfaceFlinger服务之
  6. adb 工具学习
  7. android 相对布局 RelativeLayout
  8. android跳转进市场的代码
  9. Android系统启动流程
  10. Android AbsListView坐标体系解析