[PHP] 高速化Tipsのオカルト(2) echoとprint

2009 年 7 月 5 日

fortuneteller高速化Tipsには、実践的に役立つものも多々ありますが、実際的にはほとんど役に立たないものも含まれていることが多いです。

知識として「ふーん」という以上には役立たないTipsの、PHPにおける最右翼はこのechoとprintの速度差問題ではないでしょうか。前回挙げたでも、公開当初はあったものの、後に消されたエントリの1つです。
Smartyなどのレンダリングエンジンに慣れていれば、そもそもデバッグ時以外では使わない場合も多いこのステートメントの「速度差」が、果たしてどの程度のものなのかを確かめてみます。
continue reading… «[PHP] 高速化Tipsのオカルト(2) echoとprint»

Tags:, Posted in PHP1 Comment

[PHP] 高速化Tipsのオカルト(1) 関数への参照渡し

2009 年 7 月 4 日

superstition他の言語同様、PHPにも多くの高速化Tipsがあります。汎用で効果的なもの、守銭奴的で本質的に意義の乏しいものなど様々ですが、中には「全く無意味なこと」や「過去のバージョンの話」、「状況次第では逆効果になる」ようなものも散見されます。

先日は、にわかに高速化づいているGoogleも、をオープンさせました。その中には、も含まれています。ところが、これも「オカルト」に毒されたされ、公開から僅か1週間で何度も書き直されるような事態になっています。

ここでは巷間に溢れるPHP高速化Tipsの幾つか怪しいものを検証してみます。
※なお、検証に使ったPHPのバージョンは5.2.9です。
continue reading… «[PHP] 高速化Tipsのオカルト(1) 関数への参照渡し»

Tags:,, Posted in PHPLeave a Comment

[Jetpack] 表示中ページのブックマーク数を自動表示

2009 年 6 月 20 日

bookmarkまだまだテスト段階のJetpackですが、折角なので遊ぶだけでなく、何か役に立つものを作りたいなと思いやってみました。

使ったのは、v.2から実装されたスライドバー。ここに、現在表示中のページに付けられているブックマークを表示します。
「このページ、どのくらい注目されてるのかな?」と思った時に、割と手っ取り早く分かって便利なんじゃないかと。
現時点で対応しているのは「はてなブックマーク」と「livedoorクリップ」だけです。
continue reading… «[Jetpack] 表示中ページのブックマーク数を自動表示»

Tags: Posted in Jetpack,開発Leave a Comment

[Jetpack] v.2リリース:スライドバー搭載

2009 年 6 月 18 日

jetpackJetpackのバージョン.2がリリースされたので、遅ればせながらAPIリファレンスを更新しました。

今回目に付いた変更は、スライドバー機能が搭載されたことです。
これによって、選択した文字列のWikipediaでの検索結果をサイドバーに表示したり、フラッシュムービーを横で流したまま他のページをナビゲートしたりといった、Juiceのような機能を簡単に作ることが出来たりします。(続きに動画を載せました)

他にもXMLHttpRequestの追加やストレージ機能の実装など、本当に使える機能へ着々と進んでいると思わせます。
continue reading… «[Jetpack] v.2リリース:スライドバー搭載»

Tags: Posted in JetpackLeave a Comment

[js] 演算子+と-の速度差と最速ループ

2009 年 6 月 17 日

math先週はGoogle Developer Day 2009に行ってきまして、非常に有意義なセッションもあれば、それなりのものもありましたが。

今回は個人的に最も良かったパメラさんのGoogle Maps高速化セッションから、大量マーカーの効果的なプロット方法…は、また今度時間がある時にして、その際に彼女がポロっと漏らした「+=は-=に比べて遅いし」を軽く検証してみました。(FOXでアメリカン・アイドルを観ながら)

検証は、ループカウンタをアップしていく/ダウンしていく方法で比較しています。

※2009.09.27
検証プログラムの問題を指摘いただき、末尾に追加してあります。

continue reading… «[js] 演算子+と-の速度差と最速ループ»

Tags: Posted in Javascript2 Comments

[css] 効率の良いcssを書くための7箇条

2009 年 6 月 15 日

inefficientスタイルシートをシンプルに効率よくすることは、ネットワーク転送量の低下、パース速度の向上、そしてHTMLとのマッチング効率化に繫がります。これはページのパフォーマンスを大きく向上させることに繫がります。

前回は大まかなブラウザの挙動を見ました。
今回は、そういった動きを踏まえた上で、やってしまいがちな非効率なスタイル指定を挙げてみます。そういった指定を避けることで、軽量で高速なスタイルシートを記述することができるでしょう。

なお、この記事は、Google Page Speedの”“および、Mozillaの”Writing Efficient CSS for use in the Mozilla UI“などを元に書いています。
continue reading… «[css] 効率の良いcssを書くための7箇条»

Tags:, Posted in WebLeave a Comment

[css] ページにスタイルがあてられる仕組みを学ぶ

painterGoogle Page Speedの記事から始まってしまったサイト高速化関連記事。
今回は、効率の良いスタイルを書くために、ブラウザがHTMLを解析してDOMツリーをつくり、そこにスタイルをあてていく過程を見ていきましょう。

基本的な手順がわかると、どういったcssの書き方が効率が良く、どういった書き方では迂遠であったり冗長であったりするのかが、理解できるようになると思います。

この記事は、Google Page Speedの”“および、Mozillaの”Writing Efficient CSS for use in the Mozilla UI“などを元に書いています。そのため、この仕組みは主にMozillaエンジンについてです。IEやWebKitでは若干異なった動作をする部分もあるようです。
continue reading… «[css] ページにスタイルがあてられる仕組みを学ぶ»

Tags:, Posted in WebLeave a Comment

[Web] Google Page Speedでサイトを高速化

2009 年 6 月 14 日

speed3~4回で書けると思ったについて。

ひとつの項目について思った以上に長くなってしまっているので、順番を間違えた気もしますが、ここでインデックス的に全体をまとめておきます。

おさらいしておくと、このツールはFirebugと組み合わせて使う、ページのボトルネック調査ツールです。
Page Speedを実行したからといって、自動的にページの表示スピードが速くなるようなことはありません。リストアップされた問題点を理解し、自分の環境にあわせた対応策をとって、はじめてページは高速になります。

自サイトに対して挙げられた項目であれ、そうでなくても、注意すべき点として基本的な内容を理解しておくことは有益です。
continue reading… «[Web] Google Page Speedでサイトを高速化»

Tags: Posted in Web2 Comments

[jQuery] スピンボタンで数値入力補助

2009 年 6 月 13 日

jQuery Spin自作のjQueryプラグインを追加しました。
最近むしろあまり見なくなった(?)スピンボタンインターフェースをWebフォーム上に簡単に実装するためのプラグインです。

実はこちらのプラグインは新作ではなく、1年以上前からjQuery本家公式リポジトリとで公開しています。
意外なことに地味に好評で(特に海外で)、ダウンロード数も確認できるだけで累計で2,000を超えていました。バグ報告や機能追加要望も幾つかもらっていたのですが、多忙を言い訳にひたすら放置してしまっていた可哀想な子です。
今回、利用している方からメールをいただいて急にやる気が出て、ついでにgithubにプロジェクトを作ったりしながら大幅にバージョンアップして、日本語のページも用意した次第です。
今まで不便をかけていた方には、本当に申し訳ありませんでした。

Tags:, Posted in 開発Leave a Comment

[Web] Google Page Speedでサイトを高速化(4)

2009 年 6 月 12 日

1000 armsパラレルダウンロードについて、更にもうひとつ。今度は、JsやCssなどのテキスト系外部ファイルだけでなく、画像なども含めた全ての外部ファイルに関する話題です。

今、皆さんが管理しているページは、画像やFlashなども含めた「外部ファイル」を幾つくらい必要としているでしょうか?
私が今、チューニングを求められているページは、1ページ表示しようとしただけで、もろもろ含めて150以上のファイルをダウンロードしてしまいます。
当然、css spriteなどでファイル数そのものを減らすことを考えなければいけませんが、それでも限界がある数です。

なるべく多くのファイルを、同時並行でダウンロードしてきて欲しい。こんな場合に考えなければいけないのが、です。
continue reading… «[Web] Google Page Speedでサイトを高速化(4)»

Tags: Posted in WebLeave a Comment