今天休息,闲来无事,下载了刚发布的php 7.0正式版,在centos 7上编译了一下,感觉上比以前的php版本快了不少,不过还没做具体的测试
-------------------------
#! /usr/bin/ruby
a={}
i=0
while i<600000 do
a=i
i+=1
end
a.each do |i|
a.key? i
end
apple@mysite:~$ time ./test.rb
real 0m1.321s
user 0m1.268s
sys 0m0.036s
-------------------------
#! /usr/bin/ruby
a={}
for i in 0...600000
a=i
end
a.each do |k|
a.key? k
end
apple@mysite:~$ time ./test.rb
real 0m1.322s
user 0m1.292s
sys 0m0.020s
-------------------------
可能底层数据类型不一样
你用的是索引数组 我用的是关联数组
如果是索引数组,
array_key_exists($i, $a);
这个语句意义和我的不一样
-------------------------
package main
go语言也测试了一下
func main(){
a :=map[int]int{}
for i:=0;i<600000;i++ {
a=i
}
for i,_ :=range a {
_,_=a
}
}
$ time go run test.go
real 0m0.349s
user 0m0.208s
sys 0m0.040s
忘编译了
apple@mysite:~$ go build test.go
apple@mysite:~$ time ./test
real 0m0.195s
user 0m0.184s
sys 0m0.008s
-------------------------
-------------------------
-------------------------
<?php
//time /usr/local/webserver/php/bin/php test.php
$a = array();
for($i=0;$i<600000;$i++){
$a[$i] = $i;
}
foreach($a as $i)
{
array_key_exists($i, $a);
}
?>
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。