- 浏览: 228189 次
- 性别:
- 来自: 北京
最新评论
-
saiyaren:
husxwy 写道请教一个问题,是否碰见一个请求,nginx认 ...
nginx upstream 容错机制 原创-胡志广 -
husxwy:
请教一个问题,是否碰见一个请求,nginx认为tomcat1失 ...
nginx upstream 容错机制 原创-胡志广 -
ct518lovepwj:
楼主,请教一下,我的nutch集群只有一个节点运行,并且在抓取 ...
nutch集群,威力很大,哈哈!! -
saiyaren:
songbgi 写道saiyaren 写道saiyaren 写 ...
java web 开发问题总结 1 原创-胡志广 -
songbgi:
saiyaren 写道saiyaren 写道saiyaren ...
java web 开发问题总结 1 原创-胡志广
文章列表
下面主要分析的是优化阶段和推导阶段的分析,前优化和后优化类似,所以就不具体再分析后优化;
1. preOptimize分析
1.1. preOptimize作用
1.将可以进行计算和拼接的简单的一元、二元表达式进行计算和拼接返回成为一个ScalarExpression(但变量和变量之间的是不能在preOptimize中进行合并的,这样的需要进行类型推导后才可以进行优化)
如:
$a=1+2*3+4 优化后$a=11
$a=“123”+3 优化后$a =126
$b=2;$a=$b+3 ; 优化后$a=5;
$ ...
1 摘要
Hiphop是由facebook 公司开发的应用程序,主要是将php代码转换成C++代码进行高度优化,然后由g++生成二进制文件。
官方说明hiphop要比apache+php节约50%的cpu;
经测试,hiphop 要比nginx+fastcgi(加速器)的性能高出60 ...
1. Hhvm2.1 生成扩展文件方式
Hhvm2.1 的结构化变化比较大,idl的目录放到了$HPHP_HOME/hphp/system/idl下,并且他的格式已经换成了xxx.idl.json
生成*.h和*.cpp的模式为:
php$HPHP_HOME/hphp/system/idl/idl.php cpp xxx.idl.json $HPHP_HOME/hphp/runtime/ext/ext_xxx.h$HPHP_HOME/hphp/runtime/ext/ext_xxx.cpp
参数的意思:
(1) 模式,cpp ,也有其他的如inc,test 等
(2) ...
我从去年搞hiphop总结的一些问题,其中有些是过程中的问题,有的是已经解决的问题,没有多做整理和总结,但是希望对大家有帮助:
1. Hiphop安装
Hiphop 需要在centos 6.2以上支持可以,并且通过yum安装支持包比较好;
然后 cmake时,需要单独创建一个文件夹(如build),不要跟之前的文件混淆,否则编译好的内容会出现错误。
2. 动态加载
AllDynamic 在编译php 时,添加该属性就可以对动态内容进行加载,如require中用变量,默认是关闭的
-v “AllDynamic=true”
有段时间没有接着分析了,现在接着上节的分析继续分析:
3. analyzeProgram详细分析
经过了生成语法树后,就会执行的是analyzeProgram函数(分析阶段),在analyze_result.cpp中AnalysisResult::analyzeProgram实现的,具体功能实现主流程 ...
我在“hiphop原理分析2”中主要分析了语法结构、语法树的生成、作用域内容以及analyzeProgram的功能分析;
本章中,我主要分析hiphop中的所有statement,expressio的对应关系,还有对于所有语句和表达式的analyzeProgram的详细分析。
主要内容:
1.语句(statement)结构
2.表达式(Expression)结构
3.analyzeProgram详细分析
4.变量表分析
1. 语
我在”hiphop原理分析1”中主要引入了编译原理和hiphop的简单的词法和语法的工作原理,这章节中我将具体的来讲hiphop的语法结构、树的生成、作用域和其他语法结构的关系、以及静态分析的流程。
主要内容
1.基本语法结构
2.生成树的结构
3.作用域的结构以及关系
4.analyzeprogram分析
1. 基本语法结构
首先来说一下hiphop的整体语法结构如下:
2. Hiphop 编译原理分析
接着上节没有分析完的内容继续分析
2.1. hiphop 编译处理流程
编译流程以 echo “test”;简单分析
(1)加载web server基本信息,通过调用RuntimeOption::Load(empty)方法进行加载
(2)初始化加载扩展基本内容:prepareOptions(po, argc, argv);初始化编译配置;BuiltinSymbols::LoadSuperGlobals()加载php 如_get,_session等函数的返回值类型等;BuiltinSymbols::Load和ar->load ...
Hiphop是Facebook开发一款PHP二进制化的一个工具,最开始是由php转为C++,但是后来发现编译为c++的话,许多的时间会花费在编译代码上面,调试不方便,对于代码来说也不是即见即所得。
所以hiphop经历了这么几个阶段:
HPHPC=>H ...
1 摘要
本文档主要分为3部分内容:
(1) 解决不同URL访问不同后端的nginx配置方法
(2) Nginx cache和内存文件系统的配置方法
(3) Proxy cache的详细配置内容
181 myEclipse插件菜单 add hibernate capabilities 不可用的解决办法”
用myEclipse搭建hibernate框架后,有时搞乱了某些东西后,又想重新加载Hibernate包,但此时 add hibernate capabilities 功能菜单竟然是灰色的,不可用,尤其是初学的朋友往往要重建web项目,一切都要重新来过。
到项目的根目录下找到.profile文件,打开在最下方找到
<natures>
121.Data truncation: Data too long for column 'variable' at row 1解决方法
在保存blob类型文件的时候,如果报出了上面的错误,则把数据库中的类型改变longblob类型就可以,原来的类型为blob
122.清空文件域的值
<input name="f" type="file" id="f" size="120">
61.Oracle关键字解决办法
当使用pl_sql报出下面错误的时候:
ORA-01747: user.table.column, table.column 或列说明无效
如果报这个错误的时候,是因为我们执行的sql语句中有了oracle
1.如果报下列错误:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'hbstpdb.hbstpdb__newskinds' doesn't exist
如去我们的newskinds.hbm.xml文件中找到这个语句
<class name="com.ngworld.bookstore.vo.Newskinds" table="newskinds" catalog=”hbstpdb”>
把上面的这个模式名(catalog=”hbstpdb”)删掉就不会出现上 ...
1. Linux ssh 多机配置无法连接的问题解决方法
折腾了半天操作步骤一直没有问题,但是就是用ssh连接另一台机器时还是需要输入密码
后来上网查找了一下,该问题是由于$home路径的权限必须是700,而我当前的目录的权限是775,所以就遇到了问题,这问题太囧了,细节决定成败啊。