internet explorer 9 presentation

Post on 12-Dec-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Internet Explorer 9Performance OverviewJason WeberPerformance LeadInternet Explorer Team

weber@microsoft.comhttp://www.ietestdrive.comhttp://blogs.msdn.com/ie

IE9 Platform Objectives

1) Interoperable HTML5-Interpret the same HTML and CSS markup the same way-Run the same JavaScript with a consistent programming model

2) GPU-Powered HTML5 Graphics and Media-HTML5 demands a high-performance graphics subsystem-Display , SVG, Canvas, Images, Text, CSS3

3) Performance, Performance, Performance-Networking, JavaScript Execution, Layout Engine, FormattingBuilding the next web together!

Platform Previews and Community

Internet Explorer 8

Browser SubsystemsN

etw

orki

ng

HTM

L

CSS

Colle

ctio

ns

Java

Scri

pt

Mar

shal

ling

DO

M

Form

atti

ng

Bloc

k Bu

ildin

g

Layo

ut

Dis

play

Example Site: Wall Street Journal

Comparing Site Performance

Wall Street JournalChicago TribuneUSA TodayNew York TimesWashington PostCNN NewsSeattle TimesMSN NewsFinancial TimesBoston Globe

News Site #1News Site #2News Site #3News Site #4News Site #5

Five Popular News Sites

7

  TotalSize

NumberElemen

tsCSS

RulesImageFiles

Script Files

ScriptLines

ScriptLibs

News Site #1 3280kb 8662 1293 137 21 14,216

News Site #2 961kb 820 2964 44 16 3,812

News Site #3 300kb 1187 1366 26 4 9,481

News Site #4 1462kb 4257 893 76 21 11,988

News Site #5 2981kb 3578 1917 88 19 20,722

JQuery Prototype MooTools Scriptaculous Other (JS Lib)

YUI

IE8 Subsystem Breakout

News Site #1 News Site #2 News Site #3 News Site #4 News Site #50

500,000

1,000,000

1,500,000

2,000,000

2,500,000

3,000,000

3,500,000

4,000,000

HTML parsing CSS parser Collections JavaScript Marshalling Native OM Formatting BlockBuildLayout Rendering

Mill

isec

onds

Average Distribution Across News Sites

HTML parsingCSS parserCollectionsJavaScriptMarshallingNative OMFormattingBlockBuildLayoutRendering

Average Distribution Across AJAX Sites

HTML parsingCSS parserCollectionsJavaScriptMarshallingNative OMFormattingBlockBuildLayoutRendering

Internet Explorer 9

Internet Explorer 9Networking Improvements

Networking Performance

HTTP Caching Improvements- Improve heuristic expiration- Support: crazy-far-futures Expires headers- Support: Vary: Accept-Encoding- Support Vary: Host- Improved scavenger- Redirect caching- Back/forward optimization- Cross-domain HTTPS revalidation mitigation

 Parallel Connection Improvements- Increase connections-per-proxy to 12- Speculatively pre-open additional connection- Improved LCIE connection limiting

 DNS Improvements- Pre-fetch based on Link Rel=Prefetch- Pre-fetch based on likely matches in ULV flyout- Pre-fetch addresses based on previous use- Fast-path for IP literals

 General Improvements- Shorter User Agent String- Gracefully handle codepage restarts- Autoproxy in the frame- Img src=”” shouldn’t send a request- Issue requests on the wire earlier- Only download requires files (fonts)

PLT2: Bytes Downloaded

Chrome 5.x Firefox 3.6 Safari 5 Opera 10.5 IE 8 IE9 Preview 3 -

100

200

300

400

500

600

700

800

900

Internet Explorer 9New JavaScript Engine & Compiler

Interpreters, Compilers, Intermediary Languages, Machine Code, Stack Alignment, JIT, Type System, Registers, Memory Management, Assembly, Bytecode, Tracing, Syntax Trees, Dynamic Languages, Flow Analysis, Static Languages, Regular Expressions, Inlining, oh my…

SLIDE 17

Foreground

New JavaScript Interpreter

Source Code Parser AST Interprete

rByte Code

Multi-Core Processing

Multi-Core CPU

IE8 Processor Distribution

Foreground

Background

Windows Experience Index Results

20

Month CPU Count6/1/2010 2.42

Windows Experience Index

Number of CPU Cores for Vista and Win7 Users

Foreground

JavaScript Background Compiler

21

Source Code Parser AST InterpreterByteCode

Background Native Code

Background Compiler

IE9 Background Compilation

22

Foreground

Background

WebKit SunSpider Results

Web Application API Usage

1 19 37 55 73 91 1091271451631811992172352532712893073253433613793974154334514694875055235415595775956136316496676857037217390

1000

2000

3000

4000

5000

6000

7000

8000

API (By Rank)

Num

ber

of S

ites

Internet Explorer 9GPU Powered Graphics

The Gamers GPU

26

Everyone Has a GPU

27

GPU Processing Performance

28

Multi-Core CPU GPU

Exponential Growth in GPU Power

John D. Owens, David Luebke, Naga Govindaraju, Mark Harris, Jens Krüger, Aaron E. Lefohn, and Tim Purcell. A Survey of General-Purpose Computation on Graphics Hardware. Computer Graphics Forum, 26(1):80–113, March 2007. We acknowledge Computer Graphics Forum, Eurographics (The European Association for Computer Graphics) and Blackwell Publishing.

Windows Experience Index - GPU

30

1 2 3 4 5 6 7 8

Windows Experience Index

Graphics Scores of Vista and Win7 Users

4% 15% 32% 27% 12% 10%

My Laptop WEI Score

GPU Powered Graphics

GPU Powered Canvas

GPU Powered SVG

GPU Powered Video

GPU Powered Text

GPU Powered CSS3

Behind the ScenesCompiled JavaScriptGPU Powered Graphics

Demo: Flying Images

Flying Images – One Animation

40

IE8

IE9

IE8 Hardware Usage

IE9 Hardware Usage

Measuring Performance

Performance Metrics Today

<html>

<head> <script type="text/javascript"> var start = (new Date).getTime(); </script> </head>

<body> <script type="text/javascript"> var pageLoad = (new Date).getTime() - start; </script> </body>

<img src="http://www.site.com/beacon.png" />

</html>

Performance Metrics Tomorrow

// after page is loadedvar pageLoad = window.timing.timingMeasures.navigation;

// get access to all the timing information:JSON.Stringify(window.msPerformance);

Demo: Web Timings

Try it out and send feedback…

IE9 is Fundamentally Different

top related