2016年11月24日

PHP7.0の改善は思った以上だった

PHP7.0の簡単なベンチをしてみた。
PHP5.6からどれくらいよくなっているのか、噂通りの改善がされているのか
試して確認した感じだと、噂以上に改善されてるようです。

今回は純粋に言語の改善度合いを比較しようとしたので、Webより大きな差が出てると思われます。実際のアプリではここまでの差はないでしょう。

■ベンチプログラム
簡単なテキストを読み込んで、ループするだけ。コマンドラインから起動してテストできるようにしてある。
VPSで実行。3万行のテキストを1行1行読み込んで処理する。

・PHP5.6の結果
real 0m10.978s
user 0m10.079s
sys 0m0.870s
USED_PEAK_MEMORY:1579720

・PHP7.0の結果
real 0m1.086s
user 0m0.477s
sys 0m0.596s
USED_PEAK_MEMORY:1440712

約10秒かかっていた処理が、約1秒で終了するという凄い差が出ました。ここまでの差が出るとは想定外です。

■配列のテスト
連想配列を3万行分作るようにしただけw

・PHP5.6
real 0m10.487s
user 0m9.438s
sys 0m1.031s
USED_PEAK_MEMORY:6267752

・PHP7.0
real 0m1.106s
user 0m0.502s
sys 0m0.595s
USED_PEAK_MEMORY:2493600

配列を作った分だけ余分にメモリを使ってます。
PHP5.6の場合:1579720 -> 6267752 (約4.5MB増)
PHP7.0の場合:1440712 -> 2493600 (約1MB増)
使用メモリが大幅に減ってます。
配列の効率も上がったようです。大きな配列を使うような処理が必要な場合は、PHP7.0にあげた方がより良いと思われます。

その後、いくつか改良を加えたら処理速度がさらに改善された。
real 0m0.436s
user 0m0.287s
sys 0m0.146s
USED_PEAK_MEMORY:3559808 ( 3.395 MB )
一番大きな改善は、ファイルへの出力回数をできるだけ減らすようにしたこと。
使用メモリが増えたのは、出力バッファなどいろいろ使ってるので、その分メモリが必要になってしまったが
3万件の処理が0.5秒で終了するようになるとは・・・ここまで改善されると、今後はPHPの使用範囲が増えそうです。


ラベル:PHP
posted by zjapan at 15:48| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする

2016年11月17日

PHP7.0のテストをしようと思ったら、memcachedが・・

PHP7.0の性能が良いとのことで、せっかくだから自分もテストをしようとソースからビルドしてたら、memcachedのライブラリがない。
configure自体は簡単に通ったんだけど、案外よく使うライブラリが対応してないというオチとはw

試しにremiみたらあった、ver3.0.0のライブラリを使っているようだけど、まだ開発版かも?
わざわざ自分でソースからビルドせずに、remiをインストールする方が楽でしたね。
posted by zjapan at 19:02| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年11月08日

障害?さくらインターネットVPSが不安定

なんかさくらインターネットのVPSが不安定だったけど、障害があったみたいですね。

http://support.sakura.ad.jp/mainte/mainteentry.php?id=20587
発生日時 : 2016年11月08日16時30分 - 継続中
影響範囲 : さくらのVPS 東京リージョンの一部
障害内容 : 下記メンテナンスの影響により
       収容ネットワークの通信が不安定になっております。

http://support.sakura.ad.jp/mainte/mainteentry.php?id=20408
 作業日時:2016年11月8日(火) 10時00分 〜 18時00分
 影響範囲:さくらのVPS 東京リージョン
影響内容:メンテナンス中、収容ネットワークに経路変動が発生するため
      通信遅延が数回発生する場合がございます。

がまともに影響したようで
sshで接続中にネットワークが不安定になると、コマンドが受け付けなくなるし・・
今日はもう休もうかな(笑)
posted by zjapan at 18:26| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2016年11月04日

bluetoothの接続が不安定な時:iPhoneのメモリクリアで解決

iPhoneをインターネット共有機能を使って、ネットサーフィン時に、時々bluetoothが不安定になる事があって
何度か再接続を繰り返して、という事が何度かあって
今日も調子悪かったけど・・・

iPhoneのメモリクリアで解決しました。

iPhone6と、今では旧機種になるモデルで、メモリも少ないので、下手なゲームで遊んでいると不安定になる事もあるが、インターネット共有も同じくメモリ関連で不調になったみたいです。

ちなみに、iPhoneのメモリクリアは、特殊なアプリを使わなくても簡単にできます(昔そういうアプリをダウンロードしたこともあったっけw)

・iPhoneのメモリクリア方法
1、電源ボタンを長押し
2、電源を切る画面が出たら、ホームボタンを長押し

これでメモリクリアして安定しました。
posted by zjapan at 21:10| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする