Upload
phamnguyet
View
218
Download
0
Embed Size (px)
Citation preview
Internet Explorer 9Performance OverviewJason WeberPerformance LeadInternet Explorer Team
[email protected]://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