不要なライブラリを読み込まないようにする

メッセージ

また微妙な提案です。


ごく一部の条件下でしか使用しないライブラリを毎回読み込むのを止めると、若干ですが軽くなるのではないかと思います。

手間若干の速度を天秤にかけ、どちらを取るのかはお任せします。

以下に呼び出し箇所を書き出しました*1。前半部分は対処等を入れていますが、同じことの繰り返しになるので後半部分は省略しました。

  1. lib/backup.php
    • 使用箇所-1 : lib/file.php -> page_write()
      • 対処 : page_write() で require_once
    • 使用箇所-2 : backup.inc.php
      • 対処 : plugin_backup_init() で require_once
    • その他 : lib/backup.php を必要とするプラグインの init で require_once
  2. lib/diff.php
    • 使用箇所-1 : lib/file.php -> page_write()
      • 対処 : page_write() で require_once
    • 使用箇所-2 : backup.inc.php -> plugin_backup_action()
      • 対処 : plugin_backup_init() で require_once
    • その他 : lib/diff.php を必要とするプラグインの init で require_once
    • 備考 : diff.inc.php では生成されたファイルにアクセスするだけなので、 diff.php は関係ない
  3. lib/config.php
    • 使用箇所-1 : lib/func.php -> get_autolink_pattern()
    • 使用箇所-2 : attach.inc.php
    • 使用箇所-3 : refer.inc.php
    • 使用箇所-4 : tracker.inc.php
    • 使用箇所-5 : tracker_list.inc.php *2
  4. lib/mail.php
    • 使用箇所-1 : lib/file.php -> file_write()
    • 使用箇所-2 : attach.inc.php -> attach_upload()
  5. lib/link.php ($related_link = 0; の場合は使用されない)
    • 使用箇所-1 : lib/file.php page_write()
    • 使用箇所-2 : lib/html.php -> make_related() (make_related() >>> lib/file.php -> links_get_related() >>> lib/link.php -> links_get_related_db())
      • $related_link = 1; だと make_related() が呼び出される。
    • 使用箇所-3 : related.inc.php (make_related())
    • 使用箇所-4 : links.inc.php (links_init())
    • 使用箇所-5 : rename.inc.php (links_update())

今後、Config を使用する機会が増えるのであれば*3個別呼び出しは微妙ですが。


コードキャッシュ製品 (以下、CC製品) とrequire/includeについて

lib/trackback.php と lib/mail.php

lib/pukiwiki.php と lib/init.php について

HTTP HEAD について/ブラウザの挙動について (If-Modified-Since)

BugTrack/799#hf6aafecに移動)

fabicon.ico について

コメント


*1 漏れがあるかも知れません
*2 コード自体は tracker.inc.php に
*3 define の部分を :config で設定できるようにしていくとか。負荷がかかるか・・・
*4 できるだけ.htaccessなどのより低負荷な道具を使いましょう
*5 他のページをincludeする効果のあるプラグインを使っているページについては(単純な実装では)副作用があるが、RecentChanges を別の形式で出力するようなプラグインであればリソースが常に一つなので副作用がない
*6 ex. ツールバーの 一覧 をクリックすると新たに list.inc.php がキャッシュされる
*7 lib/pukiwiki.php line:125 -> if ($trackback) $body .= tb_get_rdf($base); // Add TrackBack-Ping URI
*8 cmd=read 時又は trackback の受信時
*9 インストールの際にチェックをかけるだけなので
*10 例えば $vars['cmd']が xxx だから、など
*11 ex. GET では lib/mail.php は必要ない
*12 ページ名自体は空欄ですが、$defaultpage が設定されます
*13 情報量が多すぎて、付いて行けてません・・・すみません (^^;

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-12-24 (水) 09:15:14
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.213 sec.

SourceForge