对几种获取字符串长度的方法进行性能比较
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对几种获取字符串长度的方法进行性能比较相关的知识,希望对你有一定的参考价值。
测试环境:
操作系统:CentOS release 6.8 (Final)
操作环境:vi编辑器
任务:对获取字符串长度的几种统计方法的性能比较。
测试数据如下:
1.变量自带的获取长度的方法
[[email protected] scripts]# time for n in {1..10000};do char=`seq -s "skyboy" 100`;echo ${#char} &>/dev/null;done
real 0m19.712s
user 0m5.271s
sys 0m10.414s
------------------------
real 0m18.697s
user 0m5.278s
sys 0m10.369s
2.利用expr自带的length方法
[[email protected] scripts]# time for n in {1..10000};do char=`seq -s "skyboy" 100`;expr length ${char} &>/dev/null;done
real 0m36.181s
user 0m8.434s
sys 0m19.887s
--------------------------
real 0m36.677s
user 0m8.509s
sys 0m19.936s
3.利用管道加wc的方法
[[email protected] scripts]# time for n in {1..10000};do char=`seq -s "skyboy" 100`;echo ${char}|wc -L &>/dev/null;done
real 0m48.669s
user 0m15.029s
sys 0m40.589s
--------------------------
real 0m48.935s
user 0m15.125s
sys 0m40.630s
4.利用awk自带的length函数方法
[[email protected] scripts]# time for n in {1..10000};do char=`seq -s "skyboy" 100`;echo $char|awk ‘{print length($0)}‘ &>/dev/null;done
real 0m54.038s
user 0m15.225s
sys 0m42.295s
--------------------------
real 0m53.177s
user 0m15.277s
sys 0m42.291s
小结,经过两轮测试获得数据比较,第一种方式是用时最少,效率最高;第四种方式用时最多,效率最低。在Shell编程中,考虑效率最高的方式或是易用的程度去选择。
本文出自 “sky9890” 博客,请务必保留此出处http://sky9896.blog.51cto.com/2330653/1942505
以上是关于对几种获取字符串长度的方法进行性能比较的主要内容,如果未能解决你的问题,请参考以下文章
HTTP 请求方式: GET和POST的比较当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。