当jsp遇到hiphop-php…
看到了hiphop-php的源码已经发布到了github上..赶紧下下来到ubuntu中去编译..
比较麻烦的是hiphop-php需要N多包 还好我用的是Ubuntu 一个apt-get install可以搞定大部分包
安装过程我就不说了 官方的wiki 说的很清楚了.
唯一要注意的一点 也是我走了弯路的地方就是 现在的hiphop-php只能再64位系统下运行..
我开始在wiki上没看到这一行.. 包都安好了 一切就绪了 到hiphop-php cmake的时候提示我只能运行在64位系统下.我差点崩溃..
所以我费了一天时间来安装64位的Ubuntu与各种包. 功夫不负有心人终于被我搞定..
到底hiphop-php性能怎么样呢?我想着都是大家最关心的话题..我为了做个比较..还特地安装了一个tomcat跟jsp比较下性能..
严重声明.本次比较不带有专业性和普遍性.
顺便一提.hiphop-php编译PHP的速度真慢啊 大家可以看我编译了一行echo ‘aaa’;所用的时间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | jessica@ubuntu:~/Desktop/hiphop-php/src$ hphp/hphp test.php --keep-tempdir=1 --log=3 running hphp... creating temporary directory /tmp/hphp_dUhsGK ... parsing inputs... parsing ./test.php... parsing inputs took 0'00" (1 ms) wall time pre-optimizing... pre-optimizing took 0'00" (0 ms) wall time inferring types... inferring types took 0'00" (0 ms) wall time post-optimizing... post-optimizing took 0'00" (0 ms) wall time creating CPP files... creating CPP files took 0'00" (41 ms) wall time compiling and linking CPP files... compiling and linking CPP files took 0'52" (52075 ms) wall time running executable /tmp/hphp_dUhsGK/program --file test.php... aaaall files saved in /tmp/hphp_dUhsGK ... running hphp took 0'52" (52367 ms) wall time |
因为hiphop要构建一个类似zend的引擎.并编译.所以挺费时间..不过代码量大点的话时间差别也不会太大..
言归正传..下面是在我机器上运行的结果..仅供参考..
1 2 3 4 5 | $time = microtime(true); for($i=0;$i<=100000;$i++) { //测试空循环 } echo microtime(true) - $time; |
以上是PHP的代码.我在apache上直接运行的结果是:
0.0970780849457
用hiphop-php编译后运行的结果是:
0.05024790763855
而下面的JSP代码
1 2 3 4 5 | long time = new Date().getTime(); for(int i=0;i<=100000;i++) { //测试空循环 } out.println(new Date().getTime() - time); |
运行的结果大约是30 (注意PHP跟Java的单位不一样)
但是JSP运行的很奇怪 有一半是20左右 但是也有50 60的 十分不稳定.
但是hiphop-php与PHP都比较稳定.
我又测试了下面的代码
1 2 3 4 5 6 | $time = microtime(true); $array = array(); for($i=0;$i<=100000;$i++) { $array[] = $i; //测试大数据量速度 } echo microtime(true) - $time; |
在PHP中运行直接出错:
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 71 bytes) in /var/www/index.php on line 5
当使用hiphop-php编译后:
0.025422811508179
而下面的JSP代码
1 2 3 4 5 6 7 8 9 10 | long time = new Date().getTime(); try{ ArrayList arr = new ArrayList(); for(int i=0;i<=100000;i++) { arr.add(i); //测试大数据量速度 } }catch(Exception e){ e.printStackTrace(); } out.println(new Date().getTime() - time); |
运行的结果大概是6左右..
经过上面的比较.我也不想过多评价.总之hiphop-php暂时还是一个预览的版本.毕竟连个32bits的版本都没有.
现在还不建议用到生产环境中..相信他会越来越完善的:)
关于哥学社:
哥学社是一个自由博客组织,以提高原创技术博客质量,为成员博客增加更有效评论,由来自腾讯、百度、盛大、人人网、新浪、奇虎、TOM等各大企业的哥们共同起草发起。
关于董立强:
忠实的PHP粉丝,前端业余爱好者,恨油菜花,有远大的理想与报复!
个人技术站点: http://www.skiyo.cn/ 。可以通过电子邮件 jessica.dlq@gmail.com 联系到他。
6 Comments to “ 当jsp遇到hiphop-php… ”
Post comment
分类目录
- ActionScript (2)
- CSS (25)
- Java (3)
- JavaScript (41)
- PHP (108)
- 心情杂谈 (34)
- 收集整理 (77)
- 本站原创 (57)
最近文章
- 在sae中利用SaeFetchurl进行豆瓣的OAuth授权
- OAuth 1.0a与1.0协议的改进…
- 深入理解OAuth与豆瓣OAuth test
- include_path+__autoload与数组+__autoload的比较
- 将google ssl设置为IE8的默认搜索引擎..
- 我们来做一个会呼吸的菜单吧!!
- 在编译php-fpm0.6的时候需要注意的一些问题
- 使用PHP将大文件导入到数据库中..
- 关于用PHP调用WebService中参数为complexType的问题
- 神奇的两次按位非运算符
- 百路推免费短网址服务..首创”收藏夹获取短网址”..
- 哥学社正式上线..
- jQuery中getJSON跨域原理详解
- Web辅助工具条(原名:河蟹工具条CrabBar)0.1发布
- 腾讯微博PC端发图教程
近期评论
- 老飞的小窝 在 jQuery中getJSON跨域原理详解 上的评论
- Jackie.Hamos 在 将google ssl设置为IE8的默认搜索引擎.. 上的评论
- Elmer Zhang 在 在sae中利用SaeFetchurl进行豆瓣的OAuth授权 上的评论
- 茶叶蛋 在 一个PHP+AJAX留言板的完整例子.非常简单! 上的评论
- 9527 在 我们为什么要抛弃模板引擎?? 上的评论
- hikurasai 在 Flash TagCloud中文版. 上的评论
- lx 在 PHP上传进度条深度解析 上的评论
- lx 在 使用PHP将大文件导入到数据库中.. 上的评论
- nflauthentic 在 哥学社正式上线.. 上的评论
- uggsale 在 有三个主题的CSS导航菜单 上的评论
文章归档
- 2010 年八月 (4)
- 2010 年七月 (3)
- 2010 年六月 (4)
- 2010 年五月 (2)
- 2010 年四月 (9)
- 2010 年三月 (12)
- 2010 年二月 (1)
- 2010 年一月 (3)
- 2009 年十二月 (2)
- 2009 年十一月 (3)
- 2009 年十月 (3)
- 2009 年九月 (5)
- 2009 年八月 (4)
- 2009 年七月 (6)
- 2009 年六月 (8)
- 2009 年五月 (8)
- 2009 年四月 (16)
- 2009 年三月 (19)
- 2009 年二月 (22)
- 2009 年一月 (20)
- 2008 年十二月 (38)
- 2008 年十一月 (22)
- 2008 年十月 (7)
- 2008 年九月 (3)
- 2008 年八月 (24)

Jessica

tank兄真是有钻研精神哦~~~
其实就是没事撑的..
我认为,应该用time命令去看程序运行的时间……
因为最终还是在web上运行 所以我就直接在web上测试了.
Java取时间可以用System.currentTimeMillis()
Java 时间不稳定估计是GC的影响吧.