タグ

ブックマーク / tanakahisateru.hatenablog.jp (4)

  • PHPのGCは循環参照を回収できる - なんたらノート第三期ベータ

    PHPで親子関係のオブジェクトが相互に参照を持つ ($parent->children がありかつ $child->parent がある) ケースの話をしていたとき、循環参照の話題が出たのでふと気になって調査してみました。 結論からいうと、PHPは5.2まで、単純な参照カウンタ方式のGCのみを採用していました。5.3からは、参照カウンタ方式に加えて、循環参照を回収するGCも併用するようになりました。 PHP: 循環の収集 - Manual PHPの変数は、基的には参照カウンタが0になった時点でメモリを解放します。が、それだけでは、循環参照があると0までカウンタが落ち切らない変数が発生します。かといって、毎回循環参照をチェックするとパフォーマンス低下が発生します。そこで、GC監視下の変数が一定数 (コンパイル時のGC_ROOT_BUFFER_MAX_ENTRIES定数、通常は1万) を超え

    PHPのGCは循環参照を回収できる - なんたらノート第三期ベータ
  • PHPのarray操作はどれが一番速いか - なんたらノート第三期ベータ

    なになに あまり有名ではないのでもしかしたらご存じないかもしれませんが、PHPには高速高機能なforeachってイテレーション機構が言語組み込みにあるので、わざわざarray_mapとか書かなくてもいいんですよ!!!!!— 零崎ぞぬ織 (@tadsan) 2016年5月25日 array_mapに渡していいのはcallableな値のみで、 array_map(function(){ ... とか書き始めたらそれは敗北フラグ。素直に foreach で書け!— 零崎ぞぬ織 (@tadsan) 2016年5月25日 けど配列のフェッチと新しい配列への格納でPHPオペコード増えるし、組み込み関数のほうが速いんじゃないの? 検証してみた: > php -d memory_limit=-1 array-spped-test.php Ginq + Closure: 782.2070ms x1.00 G

    PHPのarray操作はどれが一番速いか - なんたらノート第三期ベータ
  • はやいで! つよいで! ワテらのPHP!! #phpkansai - なんたらノート第三期ベータ

    この記事は「 PHPカンファレンス関西2015 」の リレーブログ のエントリーです。 昨日は、@aa7th さん PHPScalaと私 #phpkansai でした。 このエントリーのタイトル、「はやいで! つよいで! ワテらのPHP!!」というのは、もしかしたら今年のPHPカンファレンス関西のテーマになるかもしれなかかった文言です。これ結局は採用されず、今年は「テーマなし」ということでボツになりました。 が、こいつが出てきたときの空気感がすごく良くて忘れたくなかったので、こうして残しておこうと思いました。関西人の冗談みたいな文言ですが、これ実は今のPHPコミュニティにとって、とても大事なメッセージを含んでいると思うのです。まじで。 はやいで! つよいで! ワテらのPHP!! では、ひとつひとつ解説していきましょう。 はやいで! 速いといえばPHP7ですよ。 ausweb.com.au

    はやいで! つよいで! ワテらのPHP!! #phpkansai - なんたらノート第三期ベータ
    ymm1x
    ymm1x 2015/05/22
  • PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ

    この投稿はPHP Advent Calendar 2013の12日目の記事です。 PHP恒例行事の参照と三項演算子のdisりですが、そろそろあさってな議論はやめませんかという話です。 今年のPHP-dis大賞といえばこちら。 PHPとかいう糞言語|いんまのブログ ※ 追記: これ書かれたのは2012年でしたすんません。 なんで君たちそんなコードが必要なのかね、と。結論から先言うと、きみたちがPHPが使えないって思うのは、そんな挙動に左右されるようなコードを書くからでしょ、だからCとかRubyとかそういう簡単な言語でわかった気になっている初心者はまったくもう...というわけでPHPの言語文法の基礎んとこ、いきますね。 まず、PHPのarrayは「値」です。もちろん文字列も「値」です。値は値なんだけど、それはミュータブルです。PHPのarrayもしくは文字列の代入は、一見すると、ポインタを使わ

    PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ
    ymm1x
    ymm1x 2014/03/19
  • 1