PHPのechoとprintの速度はどっちがはやい?



[PHP]printとechoどっちが早い?


どっちが早いかっていうと、echoだ!って書かれたブログは多いけれども、


理由が曖昧だったから、ソースコード晒す。


quote by: Zend/zend_compile.c(PHP: 5.3.0RC1)



void zend_do_print(znode *result, const znode *arg TSRMLS_DC)


{


zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);


opline->result.op_type = IS_TMP_VAR;


opline->result.u.var = get_temporary_variable(CG(active_op_array));


opline->opcode = ZEND_PRINT;


opline->op1 = *arg;


SET_UNUSED(opline->op2);


*result = opline->result;


}



void zend_do_echo(const znode *arg TSRMLS_DC)


{


zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);


opline->opcode = ZEND_ECHO;


opline->op1 = *arg;


SET_UNUSED(opline->op2);


}



つまり、printは戻り値を設定するための処理を行っているためechoより遅い。


以上、終わり。


トラックバック(0)

このブログ記事を参照しているブログ一覧: PHPのechoとprintの速度はどっちがはやい?

このブログ記事に対するトラックバックURL: http://www.rokujyouhitoma.com/mt/mt-tb.cgi/116

あわせて読みたい

  • あわせて読みたいブログパーツ

Lingr java-ja

ウェブページ

Powered by Movable Type 4.1