1 / 19

壯麗豪華的 javascript 圖形實作之不解釋 source code

9762101 謝秉勳 9762108 林冠樺 9762240 李英嘉 9762307 廖孟楷. 壯麗豪華的 javascript 圖形實作之不解釋 source code. 大綱. JavaScript 引擎效能 JavaScript 簡介 JavaScript 執行速度測試 JavaScript 引擎簡介 Interpreter 引擎與 JIT 引擎的比較與介紹 實用的 JavaScript 應用 chromeexperiments.com. JavaScript 是 …. 腳本語言 ( Scripting Language )

vivien
Download Presentation

壯麗豪華的 javascript 圖形實作之不解釋 source code

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 9762101 謝秉勳 9762108 林冠樺 9762240 李英嘉 9762307 廖孟楷 壯麗豪華的javascript圖形實作之不解釋 source code

  2. 大綱 • JavaScript 引擎效能 • JavaScript 簡介 • JavaScript 執行速度測試 • JavaScript 引擎簡介 • Interpreter 引擎與 JIT 引擎的比較與介紹 • 實用的 JavaScript 應用 • chromeexperiments.com

  3. JavaScript 是… • 腳本語言(Scripting Language) • 由「引擎」解釋腳本,再執行真正的動作 • 直譯式語言(Interpreted Language) • 優點 • 好學、好寫 • 缺點 • 安全性較低 • 執行效能低落

  4. JavaScript執行速度測試 • SunSpider JavaScript Benchmark • http://www2.webkit.org/perf/sunspider-0.9/sunspider.html • V8 Benchmark Suite • http://v8.googlecode.com/svn/data/benchmarks/current/run.html • 我們自己寫的 JavaScript 速度測試網頁 • http://www.oz.nthu.edu.tw/~u9762307/web-javascript/speed_index.htm

  5. 我們的 JavaScript速度測試網頁 • 迴圈(Loop)測試 • 從零到 n4 做累加 • 遞迴(Recursive)測試 • 計算斐波納契數列

  6. 常見的 JavaScript 引擎 • JScript • Microsoft Internet Explorer • SpiderMonkey (TraceMonkey) • Mozilla Firefox • V8 • Google Chrome • Carakan • Opera 10.5 series • JavaScriptCore • Apple Safari

  7. Interpreted Engine • 逐行解譯,逐行執行 • 解譯的過程導致效能低落 • 目前市面上常見的瀏覽器只有 IE 8 的 JavaScript 引擎以此種執行方式為主 • 想像你正在看一本全英文的小說…

  8. JIT Engine • 即時(Just In Time)編譯的引擎 • 將 JavaScript 程式碼編譯成機械碼,加快執行速度 • 目前 Mozilla Firefox、Google Chrome、Opera、Safari 等瀏覽器皆採用此種引擎 • IE 9 也將採用此種引擎 • 請想像你讀的是那本英文小說的中譯本…

  9. Method JIT vs. Trace JIT • Method JIT • Google Chrome, Opera • 以 function 為單位做 JIT Compile • 較難進行細部調校 • Trace JIT • Mozilla Firefox • 尋找Traceable code(通常是loop)進行JIT Compile • Traceable code 表現很好,無法 trace 的 code 則回到 Interpreted Engine

  10. 說了這麼多…

  11. 注意,問題來了! • 我們為何要如此關心JavaScript的執行速度? • Plurk? • Gmail? • FaceBook? • Wikipedia? • Speed Tests? • Web 程式設計、技術與應用?

  12. JavaScript 不只是 JavaScript • JavaScript 不只是拿來作為網頁的陪襯 • JavaScript 是一個可以寫出複雜功能的程式語言 • JavaScript 已經夠成熟,可以達成電腦上最為精緻的應用…

  13. 壯麗豪華的 JavaScript 應用程式 • The chrome experiments • http://www.chromeexperiments.com • Created by Google • 建議必玩的項目 • Ball Pool • Browser Ball • Browser Pong

  14. 我們的網站 • http://www.oz.nthu.edu.tw/~u9762307/web-javascript/ • 我們的網頁皆經 W3C 驗證器驗證過為標準的網頁 • 請使用下列瀏覽器以確保能夠順利瀏覽 • Mozilla Firefox 3.6.3 (或更新的版本) • Google Chrome 4 (或更新的版本) • Internet Explorer 8.0 (以及更舊的版本)都無法正確顯示我們的網站

  15. 參考來源 • Wikipedia: List of ECMAScript engines • Chrome Experiments • David Mandelin's blog: Starting JägerMonkey

More Related