memo.xight.org

日々のメモ

ctype と is_* , str_* の処理速度比較

Summary

ctype関数はCライブラリを使用しているため,is_*, str_*より高速とのこと.
だが実際に比較してみると,is_* の方が速い.

ctype_digit 版

$t = microtime_float();
for($i=1;$i<=1000000;$i++){
	if(ctype_digit(1234567890)) {
		print "";
	}
}
print microtime_float()-$t."\n";

function microtime_float() {
	list($usec, $sec) = explode(" ", microtime());
	return ((float)$usec + (float)$sec);
} 


is_int 版

$t=microtime_float();
for($i=1;$i<=1000000;$i++){
	if(is_int(1234567890)) {
		print "";
	}
}
print microtime_float()-$t."\n";

function microtime_float() {
	list($usec, $sec) = explode(" ", microtime());
	return ((float)$usec + (float)$sec);
} 


Reference

1人で稼ぐ日記 - 2006-05-02 - [PHP]ctypeとis_num
http://kokoromo.jugem.cc/?eid=210

microtime
http://php.s3.to/man/function.microtime.html