按位运算代替乘、除和取模:哪个更快?

许多程序员都意识到这个特例,就是当你乘或除一个2次幂的时候,你可以用位移运算符来代替乘法和除法。比如:你可以用i << 1代替i*2和用i>>1代替i / 2。还有一个不太为人所知的方法是取模。但是这些方法实际上哪个更快呢?今天这篇文章就要来测试它们以下就是今天的竞争对手[code lang="java"// Multiplicatioi * 8; // normai << 3; // bitwise [8 = 2^3, so use 3] // Division i / 16; // normal i >> 4; // bitwise [16 = 2^4, so use 4// Modului % 4; // normai & 3; // bitwise [4 = 1 << 2, apply ((1 << 2) - 1), so use 3[/code这就是多次执行这些操作后的性能测试[code lang="java"... Read More

工作效率之动态IP域名化篇

在公司里,RD们不免会使用一些代理服务来进行抓包操作。那么就需要获取代理服务器(一般为自己的电脑)的内网IP。然而,这个内网IP并不是固定不变的。所以,每次配置代理IP时就略显麻烦。那么,下面就来聊聊如何解决这个尴尬,提升效率。方案将非固定IP实时解析到域名中。利用阿里云的域名解析开发者API进行定时的更新。其中的定时用本机(Mac)的Launchd实现(类似Linux下的Crontab)。原材料Mac(或者Windows 但本文仅谈及Mac配置方法域名(如 ihuxu.com如果没有域名可以到freenom.com中注册一个免费域名,然后将其DNS切到阿里云免费的DNS云解析服务中即可。阿里云账号利用阿里云提供开发者的DNS管理相关的AP步骤下载阿里云SDK & 编写代码库:https://github.com/aliyun/aliyun-openapi-php-sdk.g... Read More

提高PHP编程效率你得这么做

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加 上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。5、注销那些不用的变量尤其是大数组,以便释放内存。6、尽量避免使用__get,__set,__autoload。7、require_once()代价昂贵。... Read More