str_padとsprintfの速度
今まではsprintfを使う機会が多かったのだけど、気になったので以下のコードを実行してみた。
PHPのバージョンは、5.2.13
Windows 7で軽く試してみた。
str_pad関数
<?php $val = "123"; $time = microtime(true); for($i = 0; $i < 1000000; $i++){ $val = str_pad($val, 5, "0", STR_PAD_LEFT); } echo microtime(true) - $time;
sprintf関数
<?php $val = "123"; $time = microtime(true); for($i = 0; $i < 1000000; $i++){ $val = sprintf("%05d", $val); } echo microtime(true) - $time;
結果
上記のコードを10回行った平均値は以下。
- str_pad:1.089614047秒
- sprintf:1.487902138秒
ちなみに、$valに値をいれずに、直接関数に値を入れるとstr_padは遅くなった(10回平均:1.245376852)。
上記結果を見るとどうも、sprintfのほうが遅いようだ。
ただ、以下のサイトによるとsprintfが早いと言っている。
古い記述だけど、そこから変化があったのか、それとも私の計算方法が悪いのか。
PHP: str_pad – Manual
広告
関連記事
-
iPhoneアプリにGoogle Analyticsを入れてみる -Google Analytics SDK for iOS導入-
* 導入経緯 iPhoneアプリをリリースして、を使って「ランキング」や「ダウンロード数」は適宜チ
-
jQuery Mobile1.2のCollapsible Listsを試してみた -画像のカスタマイズについて-
8月1日にjQuery Mobile1.2 Alphaが出ました。 まだAlphaなので自
-
iPhoneアプリ開発 -mixiSDKを使ってmixi連携をしてみる(2)-
* 前回 は、「ユーザーにAPI利用のための認可」をおこなってもらうところまでやりました。 本エン
-
iPhoneアプリ開発 -端末がネットワークにつながっているかどうか知りたい-
* やりたいこと アプリがネットに繋がっていなければアラートボックスを表示させたい。 ネットに繋
-
jQuery Mobileではまったこと -広告が表示されない!($.mobile.changePage()でのページ遷移)-
swipeした際にページ遷移をさせるためにjQueryMobileの$.mobile.changeP
-
複数アカウントでgithubを使う
1つの端末で複数のアカウントを使いたくなったので、その方法を整理してみた。 流れとしては以下のとおり
-
iPhoneアプリ開発 −タッチで線を描く(1)−
* やりたいこと 今回やりたいことは以下の2点。 -(1) 画面をタッチして、指を動かして線を描きた
-
iPhoneアプリ開発 -Bundle identifierを変えてはまった-
* 現象 Bundle identifierを変えた際にXcodeで実機に転送しようとすると以下のエ
-
iPhone/iPadアプリを開発するためにやったこと
今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て100万DL超えしました!))し
-
Androidアプリ開発 -画像を加工してセピア色にしてみる-
* やりたいこと ギャラリーから選んだ画像を加工してセピア色にしたい * ソース ** 画像を取得