タグ

2011年10月11日のブックマーク (2件)

  • phpを高速化する computed goto : DSAS開発者の部屋

    前回 インタプリタ型言語を高速化する computed goto で紹介したcomputed gotoを、「phpでも使えないの?」という声が社内であったので、 php のソースコードを見たところ、特定のビルド手順で php でも computed goto が使えることが判りました。そのビルド手法とベンチマーク結果を紹介しておきます。 php の VM のソースコードは、phpソースパッケージ中の Zend/ というディレクトリの中にあります。zend_vm_で始まる幾つかのファイルのうち、 zend_vm_execute.h というファイルが命令ディスパッチが実装されているファイルで、このファイルは zend_vm_gen.php というスクリプトで生成されています。そして、 zend_vm_gen.php のオプションで、命令ディスパッチの方法を選択できます。(phpのビルドにphp

    phpを高速化する computed goto : DSAS開発者の部屋
    fukaoi
    fukaoi 2011/10/11
    computed go toが使えるとは。
  • if 構文を葬りたいでござる。 - 偏見プログラマの語り!

    仕事でコード書いていて思うんですけども、「if 構文はもう新しいプログラミング言語には要らん」と思うんですよ。 (この記事では「if って言ったって言語によって文法が云々...」っていうツッコミをスルーするために Scala を例にして説明しますが、Scala の深い知識は不要です。) if というのは非常にシンプルな構文です。 def func( v: Int ) { if( v > 0 ) { println( v ); } } ■ if はプログラムを 2 つに分ける。 if 構文は、条件式の真偽に応じてフローを分けます。 def func( v: Int ) = { if( v == 0 ) { println( "zero" ); } else if( v > 0 ) { println( "plus" ); } else { println( "minus" ); } } フロ

    if 構文を葬りたいでござる。 - 偏見プログラマの語り!
    fukaoi
    fukaoi 2011/10/11
    自分も極左的発想をするのであれば同意。抜け道(if)があることで保守・可読性が悪くなったりする経験が多々あった。