アメリカ時間の昼ごろにTwitter上が一つのニュースで埋め尽くされました。 PHPをC++に変換して高速化する技術をFacebookが公開したというものです。世界中のPHPハッカーが注目する興味深いリリースという事でちょっと長いですが、リリースノートの和訳を行いました。 原文 http://developers.facebook.com/news.php?blog=1&story=358 Facebookにおいて重要なことのひとつが動作の速さです。過去6年間にわたって、PHPが提供する高速な開発ペースによって多くを成し遂げてきました。プログラミング言語としてみると、PHPはシンプルです。簡単に習得し、簡単に書き、簡単に読み、簡単にデバッグする事ができます。我々は他の言語よりも早くエンジニアを獲得し、それによってより早いイノベーションをすることができます。 今日、私は2年に渡って作業して
When you buy through affiliate links in our content, we may earn a commission at no extra cost to you. Learn how our funding model works. By using this website you agree to our terms and conditions and privacy policy. We uphold a strict editorial policy that focuses on factual accuracy, relevance, and impartiality. Our content, created by leading industry experts, is meticulously reviewed by a tea
YAMLのパーサーらしい。YAMLに記述ミスがあると、Spyc.phpがエラーになる。そのエラーメッセージわかりにくい。 xdebugを入れてみた stack traceが出るように、xdebug入れてみる。 sudo pear install pecl/xdebug sudo echo extension="xdebug.so" >> /etc/php5/apache2/php.iniなんだろう。明らかにパフォーマンスに影響するんだけど。zend framework使ってると、こういうの要らないんだけどなぁ・・・loadClass周りだけZend Framework使うように変更にするかなぁ・・・ 環境は ubuntu-desktop 6.10 ja apache2(php5.1.6) + eaccelerator +zend optimizer Spycの代わりにsyckを使う。 YA
See related links to what you are looking for.
TweetPocket PHPコード最適化高速化TIPSまとめPHP最適化 ベストプラクティス! 参考url: http://d.hatena.ne.jp/koto2/20080518/1211070116 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo ‘文’,’字’; (カンマ区切り)の方が、’文’.’字’ (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require
アクセスが集中するサイトや、アクセス数が多くなる予定のあるページなどではサーバ の増強などの対策を立てることができますが、アプリケーション側でも大きく負荷を軽 減することができます。 そこでSmartyに備わっているキャッシュ機能を使って処理の量を軽減させましょう。 今日、PHPの開発ではSmartyを使ったシステムが多く見受けられます。Smartyを使ったことがある方にとって、Smartyのキャッシュを使うことは難しいことではなく、むしろあっさり実装できてしまうことが嬉しいです。 それではSmartyのキャッシュ機能について紹介していきます。 まずはキャッシュの設定をしましょう。 Smartyクラス各メンバ変数の上書きです。 <?php require_once "../libs/Smarty.class.php"; $smarty = new Smarty(); // まずはキャッシュ
Rasmus Lerdorf < rasmus at php dot net > (lead) [details] Kalle Sommer Nielsen < kalle at php dot net > (developer) [details] Anatol Belski < ab at php dot net > (developer) [details] Brian Shire < shire at php dot net > (developer) [details] Sara Golemon < pollita at php dot net > (developer) [details] Marcus B?rger < helly at php dot net > (developer) [wishlist] [details] Ilia Alshanetsky < ilia
みたいなタイトルの記事を Digg 経由で発見。チートシート代わりにと思い超訳。*1 A Software Architect PHP 最適化 ベストプラクティス! 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo '文','字'; (カンマ区切り)の方が、'文'.'字' (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require でファイルはフルパスで指定しよう。 09
PHPの高速化が可能なZend Optimizerを導入します。 Zend Optimizerを入手するにはMy Zendにログインする必要があるのでアカウントを取得してZend Optimizerの最新版であるZend Optimizer 3.3.0 英語版を入手します。 $ tar xvzf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz $ cd ZendOptimizer-3.3.0a-linux-glibc21-i386 # ./install-tty (GUIの場合は./install) 色々聞かれますが基本的には[ENTER]でOKです。 最後にWebサーバの再起動を行うか聞かれるのでここだけは[no]にしておきます。 Restart the Web server now? Answer (yes or no) [YES]: n
(Last Updated On: 2006年5月8日)PHP 5.1.3では地味なパフォーマンスチューニングが施されています。しかし、個人的には非常に気に入っているので紹介します。ChangeLogには以下のように記載されています。 Eliminated run-time constant fetching for TRUE, FALSE and NULL. (Dmitry) http://www.php.net/ChangeLog-5.php#5.1.3 TRUE、FALSE、NULLはPHPがデフォルトで定義する定数です。PHP 5.1.3からこれらの定数は定数のシンボルテーブルから値を取得せずに処理されるようになりました。 この意味を理解するにはPHPが定数をどのように扱っているか知る必要があります。PHPの定数は一度値が定義されると値が変更できない”変数”の様に定義されています。
PHPのパフォーマンスチューニング最後の手段として、APC(Altenattive PHP Cache)を導入してみました。 http://pecl.php.net/package/APC APCは、いわゆるコンパイルキャッシュの一種です。 コンパイルキャッシュを利用すると、通常はPHPスクリプトを実行するたびに生成される中間コード(VBやJavaのバイトコードみたいなもの)がファイルとしてキャッシングされるようになります。毎回のコンパイル処理が不要になるため、スクリプト実行の前処理が軽くなるというわけです。特に、早起き生活のように、コードにコメントが多かったり、ファイルがクラスごとに分けられているような場合には、かなりの効果が期待できそうです。 PHP用のコンパイルキャッシュとしてはeAcceleratorなども有名ですが、PHPのバージョンが上がるたびに再インストールしなければい
PHP Performance Series: Caching Techniques - Mike Willbanks : getting into the mind of a php developer. PHPでパフォーマンス向上のためのキャッシュテクニック色々が紹介されていました。 取得に時間のかかるデータはキャッシングで高速化、は当たり前の処理ですが、その方法もいろいろあり、コードが紹介されていたので解説 apc によるキャッシング方法( APCの説明 ) APCはPHPのコードを共有メモリなどに中間形式にキャッシュしておいてPHPの実行速度を上げるための仕組みです。 そのAPCエクステンションを有効にすると、データをキャッシュしておくためのAPIも提供されます。 <?php if (($config = apc_fetch('config')) === false) { requ
phpied.com Blog Archive Simultaneuos HTTP requests in PHP with cURL The basic idea of a Web 2.0-style "mashup" is that you consume data from several services, often from different providers and combine them in interesting ways. マッシュアップに必須!PHPで複数APIを同時に叩いて超高速化するサンプル。 通常、PHPでAPIにアクセスする場合、例えば、Yahoo!検索APIとはてなブックマークのRSSを取得してマッシュアップする場合は次の図のようになります。 ただ、この方式だと、Yahoo!検索APIにリクエストし、その結果を待ちます。 そして、そこからはてなブック
Oct 28,2006 (Sat) 20:22 - [php] さようならeAccelerator 珍しくPHPな話題続き。 PHPは基本的に毎回コンパイルして中間コードを生成し、実行している。 当然、毎回そんなことしていれば実行コストが上がるわけで 「じゃあ、中間コードをディスクやメモリにキャッシュすればいいんじゃね?」 という考えのもと、結構昔からボクがWEB+DB PRESSに記事を書いたmmcacheとか 今ではPECLに入ってるAPCとか、 開発が止まってしまったmmcacheを引き継いだeAcceleratorとか、いくつかの解決方法(とはいっても、やってることはほとんど同じだけど)が生まれた。で、自分は雑誌に書いたってこともあり比較的安定していたeAcceleratorを使っていたんだけど PHP5になってからの本体側の変更の多さなのか、symfonyを使ってるとたまに問題
ドットインストール代表のライフハックブログ
PHPを高速化するために中間キャッシュを使う各種PHPアクセラレータについては以前に「PHPアクセラレータで一番高速なのはどれか?」で書きましたが、そういう方法以外にどこで時間がかかっているのか(ボトルネック)を見つけ出すことによって、根本的に高速化するという手法もちろんあるわけで。 そういう作業に役立ちそうなツールがいろいろとあるようなので実際の使い方と一緒に見てみましょう。 SitePoint Blogs >> Faster PHP Apps-Profile Your Code with Xdebug 「Xdebug」というのがどうも一般的のようです。Windows用のモジュールもあり、PHP4だけでなく5にも対応。 Xdebug - Debugger and Profiler Tool for PHP http://www.xdebug.org/ Xdebugだけだとプロファイリング
ライブドアブログからの移転以来、今までNucleusというCMSツールを使ってブログを投稿してきましたが、思い切って半分やめることにしました。 理由は、「なぜか処理に時間がかかるから」です。 最近ページを開くのに、どうも以前よりも処理が遅くなったような気がしていました。 「高橋名人の今と昔」がYahoo! JAPANのニュース記事からリンクを貼られたときも、重くて開けなくなりました。 サーバーのスペックの問題かといえば、pukiwikiサイトを50万PV/day動作させられるサーバーですから、サーバー性能的な問題ではありません。 処理に時間がかかる原因を、「Nucleusの内部的な処理と、追加したプラグインの処理」だと断定し、ブログ表示処理をごっそり書き換えることにしました。 Nucleusを改良したのではなく、ガリガリと0から全てプログラミングしてみました。 各種CMSツールについて C
元ネタは、Yahoo! DEVELOPER NETWORKの記事です。 Best Practices for Speeding Up Your Web Site - Yahoo Developer Network 全体的にWebアプリケーション自体ではなく、それ以外のレイヤでどうすればいいか?みたいな話になっています。 で、早速ざっくりと訳してまとめてみました。間違いがあれば指摘してください ;-) 1. HTTPリクエストの回数を減らす レスポンス時間の80%はフロントエンドで費やされるので、画像やスタイルシート、javascript、Flashなど、ページに含まれる部品の数を減らす。以下、具体的な方法。 クライアントサイドマップ:サイズも分割した場合と比べて変わらないし、HTTPリクエストを減らすことができる。ただし、座標定義が面倒 CSS Sprites cakephp.orgの左に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く