■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

フィードプラグインのHack

min > フィードプラグインのHack @ 2010/9/11 7:21
どもです。
プラグイン「開発」とはちょっと違うのですが・・・

feedプラグインの変更が必要になり、ちょこちょこと改造しました。
その途中で、プロファイリング等していたのですが、簡単に処理速度を上げるHackを見つけましたので、お知らせします。

feedコントローラ(FeedControllerクラス)に以下のメソッドを追加

function usort_desc($a, $b)
{
    if ($a['timestamp'] == $b['timestamp']) {
        return 0;
    }
    return ($a['timestamp'] > $b['timestamp']) ? -1 : 1;
}


feedコントローラ内の_bsortを呼び出している部分をusortに変更

		// 日付で並び替え
//		$this->_bsort($items,'timestamp','DESC');
		usort($items, array($this, "usort_desc"));


大量のフィードを登録してある場合でないと効果が少ないのですが、かなり動作が速くなります。
(50件のフィードを登録してある状態で、およそ40倍になりました。)


これ以外にも、フィードプラグインに
・ajaxではないFeedウィジェット(検索エンジンのBOTにクロール&インデックスさせるため)
・キャッシュ優先モード(curlが叩かれると処理待ちで表示が遅くなるため、トップページとかの表示速度優先時)
・大量にフィードが登録されている場合、キャッシュの有効期限をずらして一度に取りに行くRSSの数をコントロール

といった、変更を加えています。でも、ちょっとソースが汚い(力押しで解決してたり)等で、公開しずらいんですよねw
何かの機会があったら公開したいとは思っています。
ryuring > Re: フィードプラグインのHack @ 2010/9/13 18:35
Minさん、情報提供ありがとうございます。

timestampフィールドの降順に特化したという事ですね。
フィード読込は負荷が大きい部分ですので助かります。
本体にも反映したいと思います。
http://project.e-catchup.jp/issues/1044

他の部分もカスタマイズされたという事で非常に興味があります。是非公開してください!

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
32 人のユーザが現在オンラインです。 (30 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 32