PHP

PHP

RedisのSortedSetベンチマーク

5,000,000ユーザ分のデータを作成してテストしました。 Add: 18,483 queries/s Update: 17,065 queries/s Get score: 21,520 queries/s Get rank: 19,6...
PHP

Doctrine2はPDOの3倍以上遅い – Benchmarking PDO, mysqli, Doctrine2

概要 背景:Doctrine2のパフォーマンスが良くなったらしいので、ベンチマークしてみた。ちなみに、2年前にベンチマークを取ったときには、Doctrine1はPDOの約3倍遅かった。 結論:今もなお、Doctrine2はPDOに比べて3倍...
PHP

Travis CIでPHP Extensionをインストールする方法

Travis CIでPHPのextension (拡張)を使ったテストをする際に、自分でextensionをインストールする方法です。 前提として、すでに導入されているextensionはこちら。これらに依存しているだけの場合は問題なし。 ...
PHP

Redisのランキング管理API作りました

概要 RedisのSort SetのAPIが若干使いづらいので、ソーシャルゲームでのユースケースに即したAPIでラップしました。 インストール Composer対応してあります。composer.jsonに以下を書いて、php compos...
PHP

PHPのmicrotimeの精度によるmt_srandへの影響

PHP5.3以下を使っていて、microtime()を元に乱数を生成している人は注意! オフィシャルサイトのサンプルコード通りだとシードがランダムになりません。 PHPのユニットテストで確率を計算しているときに、「なかなか数字が分散しない」...
PHP

ファイルを保存した瞬間ユニットテストを実行

概要 いままで、vimでコーディングするときは「コードを書く、→ユニットテストを実行する」の繰り返しばかりで同じような操作をしていましたが、ファイルを保存した瞬間にユニットテストを実行できるようにしました。 上記のスクリーンショットのように...
PHP

Packfire Framework

Githubをぶらぶらしていたら、PackfireというPHP Web Application Frameworkを偶然見つけた。 Official Siteがかっこいい。また、使っている要素技術が、PHP5.3 + Namespace +...
PHP

PHP’s MessageFormatter benchmark

測定環境は、PHP 5.3.8で、ab -n 500です。 数字はです。 ベンチマークプログラムダウンロード
PHP

[PHP]変数vs文字列

文字列を共通化するために、変数で定義する方法と文字を直接書く方法どちらが速いか検証してみたら、ほぼ同じだった。どっちもどっち。 define.php <?php define('word', 'hogehoge'); $start = mi...
PHP

Webアプリケーションでのパスワード保存方法

自分的メモ。 ネタもと: Rainbow Crackみたいなツール使うと一方向hashした値はすぐにクラックできちゃうよ。 md5でもsha1でも同じ。Rainbow Crackの準備は時間かかるけど、これならターゲットの文字を入手したら数...