2009年4月2日 星期四

如何避免 TiddlyWiki 變慢

TiddlyWiki 簡介

簡單的說, TiddlyWiki 是『用單一個 HTML 檔 實現的 Wiki』, 不需要安裝任何程式, 只要有『瀏覽器』就可以 檢視, 編輯, 回存 Wiki。

TiddlyWiki …… 是一個網頁(一個內含CSS+JavaScript的html檔)……,檔案本身同時是程式,也是資訊儲存的地方。你可以寫入、修改、刪除、設定密碼、增加外掛以產生新功能 ……

所有這些事情都在這個檔案上完成。程式也是這個檔,你寫的內容也存回這個檔(尾部),因此你可以一個檔走天下,備份、移動、散佈,全部變得非常簡單。

值得注意的 TiddlyWiki 新發展 (老貓, 2007-02-12)

.

TiddlyWiki 參考資料

.

如何避免 TiddlyWiki 變慢

2007-07 開始用 TiddlyWiki 製作每週的會議記錄, 從一開始的 500KB (TiddlyWiki 本身的 320KB 再加上外掛), 累積到現在 710KB 大約一百多篇 文章 (tiddler), 漸漸覺得 TiddlyWiki 有變慢的跡象, 主要發生在兩種情境 :

  • 瀏覽器一開始載入 TiddlyWiki 的 HTML 檔案
  • 編輯或新增任何一篇 文章 (tiddler)

.

上網搜尋關鍵字 TiddlyWiki Slow 之後, 發現兩篇文章 :

這兩篇文章的重點大致相同, 由此可知確實有人遇到『TiddlyWiki 變慢』的問題, 而且也已經有公認的解決之道。

經過實驗, 我會建議採用下面兩種作法 :

  • 關閉『動畫顯示』
  • 不要顯示『最近更新』

.

2009-04-02_175048 關閉『動畫顯示』---- disabling animations

『動畫顯示』的開關, 在 TiddlyWiki 右側邊欄的『偏好設定』, 而這一項也是我從一開始使用 TiddlyWiki 就採用的作法。

只是, 所有『偏好設定』都是存放在『瀏覽器的 Cookie』---- 包括『動畫顯示』在內 ----, 所以 換了一台電腦 或是 同一台電腦的不同瀏覽器, 或是 Cookie 遺失, 就得要再重新設定一次。

目前還在尋找『儲存在檔案裡頭』的『永遠關閉動畫顯示』 的設定, 以便一勞永逸。

.

不要顯示『最近更新』

『最近更新』也在 TiddlyWiki 的右側邊欄, 它會顯示依修訂日期排序的文章列表。而叫它『最近更新』其實有點『名不符實』, 因為它顯示的其實是依修訂日期排序的『所有文章列表』, 所以當文章數量變多時, 這個『最近更新』就會變成一條巨龍, 而且是『一條動態更新的巨龍』。不僅瀏覽器一開始載入 HTML 檔案時, 需要花不少時間撈出資料來排序出這一條巨龍; 而且編輯或新增任何一篇文章 (tiddler) 時, 也同樣要花時間來『動態更新這一條巨龍』。

所以, 前面提到那兩篇文章的建議都是『不要顯示最近更新』。而在作法上又可以細分成下面幾種 :

  • 直接把『最近更新』和『全部』從右側邊欄拿掉
  • 改變右側邊欄的排序, 使得一般場合顯示『預設文章』或其他內容
  • 將右側邊欄的下半部『收合起來』, 需要時再打開 (詳情見 Tips for speeding … 的最末段)

.

比較 TiddlyWiki  載入內容的時間

2009-04-02_170619-1為了比較每一種作法的改善幅度, 我依照 How big can my file get … ? 的說明, 打開後台選項, 讓 TiddlyWiki 顯示載入內容所花的時間

  • 從右側邊欄的『偏好設定』開始,
  • 點選『偏好設定』最下面的『進階選項』
  • 勾選 選項表格 下方的『顯示未知選項』
  • 勾選 chkDisplayInstrumentation

** 請留意這個設定是存放在『瀏覽器的 Cookie』 , 所以改了設定之後, 不一定要存檔, 只要關閉目前的 TiddlyWiki, 下次就會在右上角看到載入內容所花的時間,

=> 由測試結果可以得知 :

  • 『最近更新』、『全部』、『分類』和『預設文章』都是 動態文章, 都需要一些額外的處理時間, 只是『分類』和『預設文章』內容較少, 所需的時間也比較少。
  • 這些動態文章只有顯示的時候才會佔用時間, 所以它們只要不是預設顯示即可, 不一定要從右側邊欄刪除
  • 如果以縮短載入時間為目的, 最好的方法是在右側邊欄的下半部顯示『靜態文章』或『收合起來』

(1) 顯示『最近更新』(原始)

(2) 顯示『分類』

  直接把『最近更新』和『全部』從右側邊欄拿掉
  • LoadShadows 4 ms
  • LoadFromDiv 402 ms
  • LoadPlugins 146 ms
  • Notify 929 ms
  • Restart 1223 ms
  • Macro init 0 ms
  • Total: 2720 ms
  • LoadShadows 6 ms
  • LoadFromDiv 407 ms
  • LoadPlugins 140 ms
  • Notify 600 ms
  • Restart 778 ms
  • Macro init 0 ms
  • Total: 1947 ms
  • .

    (3) 顯示『預設文章』

    (4) 顯示『靜態說明』

    保留『最近更新』和『全部』, 但是調換頁籤的順序, 讓載入時顯示『預設文章』 同左, 但是載入時顯示另外增加的『靜態說明』
  • LoadShadows 5 ms
  • LoadFromDiv 406 ms
  • LoadPlugins 144 ms
  • Notify 329 ms
  • Restart 508 ms
  • Macro init 0 ms
  • Total: 1408 ms
    • LoadShadows 5 ms
    • LoadFromDiv 411 ms
    • LoadPlugins 150 ms
    • Notify 280 ms
    • Restart 440 ms
    • Macro init 0 ms
    • Total: 1302 ms

    .

    (1) 原始的 SideBarTabs 如下

    SideBarTabs :
    <<tabs txtMainTab "最近更新" "依更新日期排序" TabTimeline "全部" "所有文章" TabAll "分類" "所有標籤" TabTags "更多" "其他" TabMore>>

    (2) 直接把『最近更新』和『全部』從右側邊欄拿掉 => 讓載入時顯示『分類』。
    ** 因為『分類』也是動態文章, 但內容較少, 所以稍省了一點時間。

    SideBarTabs :
    <<tabs txtMainTab "分類" "所有標籤" TabTags "更多" "其他" TabMore>>

    (3) 保留『最近更新』和『全部』, 但是調換頁籤的順序 => 讓載入時顯示『預設文章』。
    ** 『預設文章』(『shadowed tiddler tab』或『Shadow Tiddlers』) 同樣還是動態文章, 但內容更少, 所以又再省了一點時間。

    SideBarTabs :
    <<tabs txtMainTab "更多" "其他" TabMore "最近更新" "依更新日期排序" TabTimeline "全部" "所有文章" TabAll "分類" "所有標籤" TabTags>>

    (4) 同(3), 但是載入時顯示另外增加的『靜態說明』
    ** "管理" 和前面的 "更多" 是同一個分頁, 被移到最前面當作預設的分頁, 叫它 "更多" 有點怪, 於是改名。另外再到 TabMore 增加一個『靜態說明』頁。

    SideBarTabs :
    <<tabs txtMainTab "管理" "管理文章" TabMore "最近更新" "依更新日期排序" TabTimeline "全部" "所有文章" TabAll "分類" "所有標籤" TabTags>>

    TabMore :
    <<tabs txtMoreTab "說明" "參考資料" TW_HELP "未完成" "內容空白的文章" TabMoreMissing "未引用" "未被引用的文章" TabMoreOrphans "預設文章" "已預設內容的隱藏文章" TabMoreShadowed>>

    .

    加速 TiddlyWiki 運作的其他選項

    底下還有其他 加速 TiddlyWiki 運作 的選項, 但『不見得適用於每一個人』就是了 ……

    調整使用的套件 (plugin)

    開啟『預設文章』- PluginManager, 可以看到每個 plugin 的大小和載入時間, 再依此調整使用的套件。在我自己這邊, plugin 載入時間 都在 0 ~ 5ms, 所以下面提到的『使用外部 js 檔的方式安裝套件』, 看來就沒有這麼迫切的需求。

    文件體積822K,變得特慢

    2.移除非必要套件、盡可能使用外部 js 檔的方式安裝套件
    於 MarkupPostBody 宣告欲載入的套件:
    <script type="text/javascript" src="/pathto/YourPlugins.js"></script>

    .

    調整存檔方式

    偏好設定的『儲存備份』和『自動存檔』這兩項, 也會影響 TiddlyWiki 運作的效能, 但和『文件保全』比起來如何取捨, 就沒有一定的答案了。

    .

    5 意見:

    發表您的回應
    1. 匿名 提到...

      獲益良多,謝謝你喔

    2. joinonline good 提到...


      jasa seo
      jasa seo indonesia
      jasa seo terpercaya
      seo indonesia
      jasa seo web judi
      jasa buat website
      jasa pembuatan website

      Sbobet
      Agen Sbobet
      Agen IBcbet
      agen MAXBET
      bandar bola
      judi bola
      judi online
      taruhan bola
      agen resmi sbobet
      agen bola
      agen bola terpercaya
      agen sbobet terpercaya

      agen poker
      poker online
      pagen poker terbaik
      agen poker terpercaya
      poker uang asli

      situs poker
      agen poker terbaik
      agen poker terpercaya
      poker uang asli
      situs bandarq
      situs dominobet qq

      sabung ayam
      adu ayam
      ngadu ayam
      laga ayam
      permainan adu ayam
      ayam petarung
      ayam sabung
      ngadu ayam jago
      adu ayam online
      taruhan ayam
      sabung ayam terbaik
      judi online ayam
      ayam sabung online
      judi adu ayam
      situs sabung online
      judi sabung online
      permainan laga ayam
      sabung online
      sbobet
      agen sbo
      agen sbobet
      agen sbobet terbaik
      agen sbobet terpercaya
      sbobet asia
      ibcbet
      agen ibcbet
      agen ibcbet terbaik
      agen ibcbet terpercaya
      ibcbet online
      sbobet online

      LK21

    3. joinonline good 提到...


      agen casino indonesia
      agen judi sbobet
      agen sbobet indonesia
      agen sbo
      agen sbobet terpercaya
      agen sbobet
      agen sbo terpercaya
      agen judi terpercaya
      sbosports
      agent sbobet
      agen sbobet indonesia
      bandar judi terpercaya
      agen judi bola terpercaya
      agen judi ibcbet
      sbobet indonesia
      agen bola online
      bandar judi bola
      master agen betting online
      bandar bola sbobet terpercaya
      judi online


      BANDARQ
      Agen Poker
      situs poker
      poker online
      Judi Poker Online
      situs poker online terpercaya
      Poker Online Terpercaya
      poker uang asli
      Domino QQ
      Domino Poker
      Capsa Online
      QQ Online
      Ceme Online
      Blackjack Online
      Poker Online Indonesia
      Agen poker online
      poker online asli
      agen poker terbaik
      agen poker terpercaya
      situs poker uang asli

      BANDARQ
      Agen Poker
      situs poker
      poker online
      Judi Poker Online
      situs poker online terpercaya
      Poker Online Terpercaya
      poker uang asli
      Domino QQ
      Domino Poker
      Capsa Online
      QQ Online
      Ceme Online
      Blackjack Online
      Poker Online Indonesia
      Agen poker online
      poker online asli
      agen poker terbaik
      agen poker terpercaya
      situs poker uang asli

    4. joinonline good 提到...

      agen bola terpercaya
      pasang bola
      judi bola online
      agen bola terpercaya

      Agen bola
      Judi Online
      Agen Bola Online

      casino online terbaik
      casino online
      judi online
      agen casino online
      judi live casino

      agen judi
      agen bola
      situs judi
      judi bola
      judi online
      bandar bola
      bandar judi
      situs taruhan
      taruhan bola
      taruhan online
      situs judi bola
      situs judi online
      situs judi terpercaya
      agen bola terpercaya
      agen judi online
      judi online terpercaya
      agen judi terpercaya
      bandar judi online
      bandar bola terpercaya
      judi bola online
      agen piala dunia 2018
      bandar piala dunia 2018
      situs taruhan piala dunia 2018
      situs judi piala dunia 2018
      agen resmi piala dunia 2018

    5. joinonline good 提到...

      Agen togel
      judi togel
      bandar togel online
      bandar togel
      togel singapura
      togel online
      bandar judi togel
      agen togel online
      judi togel online
      togel sydney
      togel hongkong

      Agen togel
      judi togel
      bandar togel
      bandar togel online
      togel singapura
      togel online
      bandar judi togel
      agen togel online
      judi togel online
      togel sydney
      togel hongkong

      agen poker
      agen poker terbaik
      agen poker terpercaya
      poker uang asli
      situs poker

    張貼留言