2012-02-19 23 views
3

關於如何在將代碼顯示在博客位置時對代碼進行美化的問題已有幾條線索:How to use prettify with blogger/blogspot?What are the steps I need to take to add nice java code formatting to my blogger/blogspot blog?Syntaxhighlighter V谷歌的美化性能建議需要?

我已經嘗試了谷歌的美化http://code.google.com/p/google-code-prettify/和SyntaxHighlighter的http://alexgorbatchev.com/SyntaxHighlighter/。兩者都很好。然而,我對兩者都有更好的表現感興趣 - 這是線程不同的地方。

壓縮

YSlow的是告訴我既不被送到壓縮到我的瀏覽器。但是,我不是自己託管該網站,我正在使用谷歌的blogspot進行託管。所以,我不認爲我能在這裏做很多事情。正確?

緩存 谷歌的美化和syntaxhighlighter都使用javascript文件和樣式表。他們分別在谷歌服務器和亞馬遜服務器上託管他們。如果我自己託管文件,我可以使用Apache Http Server並在HTTP響應中設置緩存頭,以便返回的用戶不會繼續下載它們。如果我沒有託管自己並利用blogspot的免費託管服務,那麼我無能爲力,對嗎?

服務器ping時間 這是一個noddy測試。當我平安Google的美化,我得到:

Pinging googlecode.l.google.com [209.85.143.82] with 32 bytes of data: 
Reply from 209.85.143.82: bytes=32 time=5ms TTL=53 
Reply from 209.85.143.82: bytes=32 time=4ms TTL=53 
Reply from 209.85.143.82: bytes=32 time=4ms TTL=53 
Reply from 209.85.143.82: bytes=32 time=5ms TTL=53 

當我SyntaxHighlighter的平:

Pinging www.alexgorbatchev.com [69.163.149.228] with 32 bytes of data: 
Reply from 69.163.149.228: bytes=32 time=148ms TTL=47 
Reply from 69.163.149.228: bytes=32 time=146ms TTL=47 
Reply from 69.163.149.228: bytes=32 time=146ms TTL=47 
Reply from 69.163.149.228: bytes=32 time=146ms TTL=47 

所以看的像谷歌的贏得這場之一。可能使用CDN,我不認爲syntaxhighlighter是。

減少HTTP請求

這裏有辦法的差異。 Syntaxhighlighter對於不同的語言是相當模塊化的,具有不同的JavaScript文件。谷歌;美化使用一個更大的JavaScript文件。 如果您包含來自各種語言的片段,那麼可以使用語法高亮顯示更小的文件大小,當然,您會有更多的http請求。

這就是背景。問題是關於使用syntaxhiglighter或谷歌的美化你的性能提示是什麼?你怎麼能讓速度更快或確定一個比另一個更快?

謝謝。

回答

5

我想你應該與谷歌(由他們主持)走了幾個原因:

  1. 如果代碼是由谷歌URL託管,瀏覽器從緩存中,如果讀機會他們之前訪問的網站(不是你的)使用了相同的網址。這意味着他們甚至可以在訪問您的網站之前從緩存中讀取數據。

  2. 谷歌有一個CDN,這意味着它們可以提供從最接近請求的服務器的文件。例如。你的服務器可能在美國託管,但如果澳大利亞人去了你的網站,他仍然必須去美國獲取你的文件,...與谷歌不一樣。

  3. 它更便宜,更省事。

  4. 少的HTTP請求是瀏覽器的性能與提升

在谷歌不壓縮文件方面的無名英雄。我有一個一般規則編碼或做任何Google相關聯時:

「谷歌是比你更聰明」

如果我認爲谷歌不發送壓縮文件,它可以:

  1. 我錯了,谷歌是給我的壓縮文件

  2. 最好不要發送壓縮文件

  3. 一些UNK nown原因,那就是超越我

保持簡單兄弟,信任在googs

+1

太偏的答案......這傢伙一定是一個鐵桿球迷谷歌。亞馬遜還擁有cdn和優秀的雲基礎設施。你在亞馬遜的機率是多少? – WarFox 2012-07-02 10:53:52

+0

我對亞馬遜絕對一無所知,我是澳大利亞人...在這裏它只是一個在線書店。而且,我是一個迷或不是,它並沒有改變谷歌擁有世界上最聰明的工程師的事實 – 2012-07-14 01:37:13

+1

擴大你的知識伴侶。亞馬遜擁有最好的雲基礎架構之一。看看Amazon Web服務http://aws.amazon.com/。作爲問題的答案,JavaScript性能取決於腳本加載時間,因此最好使用更快的加載腳本。但是由於syntaxhighlighter非常流行,大多數用戶將在瀏覽器緩存中擁有該腳本,所以在大多數情況下它不需要http請求 – WarFox 2012-07-16 09:50:56