首页 > 其他 > 详细

从lighttpd学到的代码技巧

时间:2014-09-06 21:07:03      阅读:400      评论:0      收藏:0      [点我收藏+]

平时写开脚本,很多时候我们都可以不怎样注意效率,但是看c代码的时候,你会发现,才意思自己真的是一个coder啦

1,单位转换 (根据传入的数返回相应的kb,mb,gb等等)

可能我们直觉来想就会这样做啦

if(num>1024*1024*1024){
       return num/1024/1024/1024+"gb"
}elseif(num>1024*1024){
     return num/1024/1024+"mb"
}else{
   return num/1024+"kb"
}

我以前写文件上传的时候就是怎样写的,太笨啦,效率 也很低

来看看lighttpd怎样写

 

 1 static int mod_status_get_multiplier(double *avg, char *multiplier, int size) {
 2     *multiplier =  ;
 3 
 4     if (*avg > size) { *avg /= size; *multiplier = k; }
 5     if (*avg > size) { *avg /= size; *multiplier = M; }
 6     if (*avg > size) { *avg /= size; *multiplier = G; }
 7     if (*avg > size) { *avg /= size; *multiplier = T; }
 8     if (*avg > size) { *avg /= size; *multiplier = P; }
 9     if (*avg > size) { *avg /= size; *multiplier = E; }
10     if (*avg > size) { *avg /= size; *multiplier = Z; }
11     if (*avg > size) { *avg /= size; *multiplier = Y; }
12 
13     return 0;
14 }

这样比上面效率高多了,一层一层下去,减小了运算过程,大家一看就清楚

 

从lighttpd学到的代码技巧

原文:http://www.cnblogs.com/simonlu/p/3959742.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!