タグ

PHPとRubyに関するseiunskyのブックマーク (5)

  • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

    PHPPythonRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 稿では3言語の連想配列の従来実

    PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
  • 「Webアプリエンジニア養成読本」をいただきました。 - 放牧日記

    刊行記念イベントの予約方法の難易度が高いことで話題の「Webアプリエンジニア養成読[しくみ,開発,環境構築・運用…全体像を最新知識で最初から!]」を技術評論社様からいただきました。ありがとうございます。 Webアプリエンジニア養成読[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus) 作者: 和田裕介,石田絢一(uzulla),すがわらまさのり,斎藤祐一郎出版社/メーカー: 技術評論社発売日: 2014/03/11メディア: 大型この商品を含むブログ (2件) を見る 全編書き下ろしです! 「Webアプリエンジニア養成読」の名前に違わず、HTTPやHTMLなどの話から始まり、開発ツールの選び方、Webアプリ開発、サーバ構築、サービス運用のためのロギングや監視と、Webアプリ開発に必要となる基礎知識が上から下まで網羅的に解説さ

    「Webアプリエンジニア養成読本」をいただきました。 - 放牧日記
    seiunsky
    seiunsky 2014/03/08
    ありがとうございます!!
  • はじめの言語の賞味期限 - Kato Kazuyoshi

    ライブドアブログの PSGI 化の話 は良いはなしだと思う。一方で、私はあんまり Perl が好きじゃないので、10年にわたって生き続けた Perl アプリケーションが、次の10年にむけてアップをはじめているのは、ちょっとしたホラーでもある。 TwitterRuby と JVM ライブドアブログが、将来に向けて mod_perl から PSGI + Starlet にかえたように、将来に向けてプログラミング言語をかえる人達も存在する。最近の事例で有名なのは、TwitterRuby から JVM 言語群への移行だろう。 OSCON Java 2011 の Twitter: From Ruby on Rails to the JVM では、JVM への移行に至った理由として Ability to handle server workloads A real concurrency

  • PHP しか書けなかった僕が Ruby を始めたころに思ったこと10点 « blog.udzura.jp

    RubyKaigi とか色々あって、ふと、僕がプログラミングを始めたころのことを何となく思い出したので走り書きしておきます。特に PHP に関しては記憶が曖昧なところがおおいので、 PHPer モヒカン族によるツッコミを歓迎します。 配列とハッシュが違う PHP においては、配列も連想配列もすべて array() と言う関数で生成する。むしろ、配列というものがキーを数字にしているだけの連想配列と言う位置づけだと思う。 Ruby ではもちろん、主たるコレクションには Array と Hash の二種類が存在し、区別される。最初はこの区別に若干戸惑いを覚えた。 ちなみに Python だとリスト・タプル・辞書ともっと増えるわけで、Javaのコレクションクラスに至ってはさらに多いし、この辺はどの実装が正しいとか適切とかではなく慣習なのかなあ、と思ったりする。 型(クラス)がより厳格 PHP では

  • PHPとRubyとPythonのparserをいじめてみた - hnwの日記

    下記のようなプログラムを与えると、PHPのparserが「無理っす」と言って死にます。 <?php !!!…(10000個くらい)…!!!true; $ php ./hoge.php PHP Parse error: memory exhausted in /Users/hanawa/hoge.php on line 2yaccによるparserはシフトと還元を繰り返しながら構文解析していきます。単項演算子について言えば、後置された表現が確定するまで還元できませんから、!が連続している間はシフトし続け、トークンをスタックに積み続ける必要があります。 このようにトークンを記録するためのスタックのサイズがPHPでは10000個しかありません。ですから、単項演算子を10000個ほど書くだけで簡単に死にます。他にも、「(」を10000個ほど連続して置くなどの嫌がらせでもPHPを死なせることができま

    PHPとRubyとPythonのparserをいじめてみた - hnwの日記
    seiunsky
    seiunsky 2009/02/18
    「単項演算子を10000個ほど書くだけで簡単に死にます」www
  • 1