JSMeter: Characterizing the Behavior of JavaScript Web Applications

Size: px
Start display at page:

Download "JSMeter: Characterizing the Behavior of JavaScript Web Applications"

Transcription

1 JSMeter: Characterizing the Behavior of JavaScript Web Applications Paruj Ratanaworabhan Kasetsart University, Thailand Ben Livshits and Ben Zorn Microsoft Research, Redmond in collaboration with David Simmons, Corneliu Barsan, and Allen Wirfs-Brock 1

2 Why Measure JavaScript? Standardized, de facto language for the web Support in every browser, much existing code Browser and JavaScript performance is important Are current JavaScript benchmarks representative? Limited understanding of JavaScript behavior in real sites Who cares? Users, web application developers, JavaScript engine developers 3

3 ZDNet 29 May 2008 Browser Wars! ghacks.net Dec

4 Artificial Benchmarks versus Real World Sites 7 V8 programs: richards deltablue crypto raytrace 8 SunSpider programs: 3-draytrace access-nbody bitops-nsieve controlflow JSMeter Goals of JSMeter Project 11 real sites: earleyboyer crypto-aes Instrument date-xparb JavaScript execution and measure behavior regexp Compare behavior math-cordic of JavaScript benchmarks against real sites splay string-tagcloud Consider how benchmarks can mislead design decisions Maps Maps 5

5 How We Measured JavaScript \ie\jscript\*.cpp Source-level instrumentation custom jscript.dll website visits custom trace files custom trace files Offline analyzers 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Constant Other Str Ops Concat Op 6

6 Visiting the Real Sites Getting past page load performance Attempted to use each site in normal way: amazon Search a book, add to shopping cart, sign in, and sign out bing Type in a search query and also look for images and news bingmap Search for a direction from one city to another cnn Read front page news ebay Search for a notebook, bid, sing in, and sign out economist Read front page news, view comments facebook Log in, visit a friend pages, browse through photos and comments gmail Sign in, check inbox, delete a mail, and sign out google Type in a search query and also look for images and news googlemap Search for a direction from one city to another hotmail Sign in, check inbox, delete a mail, and sign out 7

7 Understanding JavaScript Behavior Code JavaScript Events Objects 8

8 Code Behavior Function size Instructions/call Code Code locality Instruction mix JavaScript Events Objects 9

9 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Source size (kilobytes) Total Bytes of JavaScript Source 2500 Code Objects Events Real Sites V8 SunSpider 10

10 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Unique Functions Executed Code Objects Events Static Unique Functions Executed 4,000 3,500 3,000 2,500 2,000 1,500 1, Real Sites V8 SunSpider 12

11 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Bytecodes / Call Code Objects Events Bytecodes / Call function(a,b) { var i=0,elem,pos=a.length; if(d.browser.msie) { while(elem=b[i++]) if(elem.nodetype!=8) a[pos++]=elem; } else while(elem=b[i++]) a[pos++]=elem; return a } Real Sites V8 SunSpider 15

12 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Fraction of Code Executed Fraction of Code Executed Code Objects Events % 90.00% 80.00% 70.00% 60.00% Most code not executed 50.00% 40.00% 30.00% 20.00% 10.00% 0.00% Real Sites V8 SunSpider 16

13 Object Allocation Behavior Allocation by types Code Live heap composition Lifetime distribution JavaScript Events Objects 17

14 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Total heap data (kilobytes) Code Objects Events Total Bytes Allocated Real Sites V8 SunSpider 18

15 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay V8 aggragate 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud aggregate Heap Data by Type 1 Heap Data by Type Code Objects Events Few benchmarks allocate much data Objects Enumarator RegExp Math Error Date Native Func String Arrays Script Func Many functions Rest are strings Real Sites V8 SunSpider 19

16 Code Objects Events Live Heap Over Time (gmail) Functions grow steadily GC reduces size of heap Objects grow steadily too 20

17 Code Objects Events Live Heap over Time (ebay) Heap contains mostly functions Heaps repeatedly created, discarded Heap drops to 0 on page load 21

18 Code Objects Events 2 Search Websites, 2 Architectures You stay on the same page during your entire visit Code loaded once Heap is bigger Every transition loads a new page Code loaded repeatedly Heap is smaller Bing Google 22

19 Event Handlers in JavaScript Number of events Sizes of handlers Code JavaScript Events Objects 26

20 Code Objects Events Event-driven Programming Model Single-threaded, non-preemptive event handlers Example handlers: onabort, onclick, etc. Very different from batch processing of benchmarks Handler responsiveness critical to user experience 27

21 Total Events Handled Total Events Handled Code Objects Events 7,000 6,000 5,000 4,000 3,000 2,000 Almost no events 1,000 0 Real Sites V8 28

22 Median Bytecodes / Event Handled Median Bytecodes / Event Handled Code Objects Events

23 Sure, this is all good, but Everyone knows benchmarks are unrepresentative How much difference does it make, anyway? Wouldn t any benchmarks have similar issues? 33

24 Observation Cold-code Experiment Real web apps have lots of code (much of it cold) Benchmarks do not Question: What happens if the benchmarks have more code? We added extra, unused to code to 7 SunSpider benchmarks We measured the impact on the benchmark performance 34

25 Time (msec) Time (msec) Performance Impact of Cold Code K 200K 400K K 200K 400K K K M 2M M 2M 0 0 Chrome Cold code makes SunSpider on Chrome up to 4.5x slower IE Cold code has non-uniform impact on execution time 35

26 Impact of Benchmarks What gets emphasis Making tight loops fast Optimizing small amounts of code Important issues ignored Garbage collection (especially of strings) Managing large amounts of code Optimizing event handling Considering JavaScript context between page loads 36

27 Conclusions JSMeter is an instrumentation framework Used to measure and compare JavaScript applications High-level views of behavior promote understanding Benchmarks differ significantly from real sites Misleads designers, skews implementations Next steps Develop and promote better benchmarks Design and evaluate better JavaScript runtimes Promote better performance tools for JavaScript developers 37

28 Additional Resources Project: Video: Project JSMeter: JavaScript Performance Analysis in the Real World" - MSDN Channel 9 interview with Erik Meier, Ben Livshits, and Ben Zorn Paper: JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications, Paruj Ratanaworabhan, Benjamin Livshits and Benjamin G. Zorn, USENIX 2010 Conference on Web Application Development (WebApps 10), June Additional measurements: "JSMeter: Characterizing Real-World Behavior of JavaScript Programs", Paruj Ratanaworabhan, Benjamin Livshits, David Simmons, and Benjamin Zorn, MSR-TR , December 2009 (49 pages), November

29 Additional Slides 39

30 Hot Function Distribution Code Objects Events 80% of time in 100+ functions 80% of time in < 10 functions 80% 80% Real Sites V8 Benchmarks 40

31 Opcode Distribution Code Objects Events Outliers Real Apps Green = SunSpider Blue= Real Web Apps Red = V8 41

32 Object Type Distribution Code Objects Events Real Apps economist is an outlier (arrays) Green = SunSpider Blue= Real Web Apps Red = V8 42

33 Code Objects Events Distribution of Time in Handlers 43

34 JavaScript Related Work Richards, Lebresne, Burg, and Vitek (PLDI 10) Draw similar conclusions Java Doufour et al. (OOPSLA 03), Dieckmann and U. Hölzle (ECOOP 99) Other languages C++: Calder et al. (JPL 95) Interpreted languages: Romer et al. (ASPLOS 96) 44

JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications

JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications Paruj Ratanaworabhan Kasetsart University paruj.r@ku.ac.th Benjamin Livshits and Benjamin G. Zorn Microsoft Research

More information

Reducing Memory in Software-Based Thread-Level Speculation for JavaScript Virtual Machine Execution of Web Applications

Reducing Memory in Software-Based Thread-Level Speculation for JavaScript Virtual Machine Execution of Web Applications Reducing Memory in Software-Based Thread-Level Speculation for JavaScript Virtual Machine Execution of Web Applications Abstract Thread-Level Speculation has been used to take advantage of multicore processors

More information

Fast and Precise Hybrid Type Inference for JavaScript

Fast and Precise Hybrid Type Inference for JavaScript Fast and Precise Hybrid Type Inference for JavaScript Brian Hackett Shu-yu Guo Mozilla {bhackett,shu}@mozilla.com Abstract JavaScript performance is often bound by its dynamically typed nature. Compilers

More information

Language Based Virtual Machines... or why speed matters. by Lars Bak, Google Inc

Language Based Virtual Machines... or why speed matters. by Lars Bak, Google Inc Language Based Virtual Machines... or why speed matters by Lars Bak, Google Inc Agenda Motivation for virtual machines HotSpot V8 Dart What I ve learned Background 25+ years optimizing implementations

More information

Instrumenting V8 to Measure the Efficacy of Dynamic Optimizations on Production Code

Instrumenting V8 to Measure the Efficacy of Dynamic Optimizations on Production Code Instrumenting V8 to Measure the Efficacy of Dynamic Optimizations on Production Code Michael Maass March 2013 CMU-ISR-13-103 Ilari Shafer Institute for Software Research School of Computer Science Carnegie

More information

Jalangi: A Selective Record-Replay and Dynamic Analysis Framework for JavaScript

Jalangi: A Selective Record-Replay and Dynamic Analysis Framework for JavaScript Jalangi: A Selective Record-Replay and Dynamic Analysis Framework for JavaScript ABSTRACT Koushik Sen EECS Department UC Berkeley, CA, USA. ksen@cs.berkeley.edu JavaScript is widely used for writing client-side

More information

AjaxScope: Remotely Monitoring Client-side Web-App Behavior

AjaxScope: Remotely Monitoring Client-side Web-App Behavior AjaxScope: Remotely Monitoring Client-side Web-App Behavior Emre Kıcıman emrek@microsoft.com Ben Livshits livshits@microsoft.com Internet Services Research Center Microsoft Research Runtime Analysis &

More information

Microsoft Office 365, BYOD and ipads

Microsoft Office 365, BYOD and ipads Microsoft Office 365, BYOD and ipads This document is to give an overview of how students can utilise the different ways of accessing their email, files and assignments if using the Office365 product with

More information

Developing Offline Web Application

Developing Offline Web Application Developing Offline Web Application Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Art Nanakorn Thana Pitisuwannarat Computer Engineering Khon Kaen University, Thailand 1 Agenda Motivation Offline web application

More information

Testing on the other side of the pendulum

Testing on the other side of the pendulum Testing on the other side of the pendulum Issues and considerations Presented by : Percy Pari Salas www.accesstesting.com "Those who cannot remember the past are condemned to repeat it." as poet and philosopher

More information

What is Outlook.com and how can I use it?

What is Outlook.com and how can I use it? What is Outlook.com and how can I use it? Blog Post Date: August 6 th, 2012 Category: Technology made easy Author: Ulrika Hedlund Source: http://www.businessproductivity.com/ what-is-outlook-com-and-how-can-i-use-it

More information

The Future Of Computing

The Future Of Computing The Future Of Computing +Wesley Chun / @wescpy Developer Advocate, Google Fall 2013 I Code 1 I Write I Teach 2 About You and This Talk Professional in Industry, Education, Government Open minds, receptive

More information

Large-Scale Web Applications

Large-Scale Web Applications Large-Scale Web Applications Mendel Rosenblum Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet CS142 Lecture Notes - Intro LAN 2 Large-Scale: Scale-Out

More information

Index. AdWords, 182 AJAX Cart, 129 Attribution, 174

Index. AdWords, 182 AJAX Cart, 129 Attribution, 174 Index A AdWords, 182 AJAX Cart, 129 Attribution, 174 B BigQuery, Big Data Analysis create reports, 238 GA-BigQuery integration, 238 GA data, 241 hierarchy structure, 238 query language (see also Data selection,

More information

Outlook Data File navigate to the PST file that you want to open, select it and choose OK. The file will now appear as a folder in Outlook.

Outlook Data File navigate to the PST file that you want to open, select it and choose OK. The file will now appear as a folder in Outlook. Migrate Archived Outlook Items Outlook includes archiving functionality that is used to free up space on the mail server by moving older items from the mail server to PST files stored on your computer

More information

What is the Cloud? Computer Basics Web Apps and the Cloud. Page 1

What is the Cloud? Computer Basics Web Apps and the Cloud. Page 1 Computer Basics Web Apps and the Cloud What is the Cloud? You may have heard people using terms like the cloud, cloud computing, or cloud storage. But what exactly is the cloud? Basically, the cloud is

More information

Replication on Virtual Machines

Replication on Virtual Machines Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism

More information

Automated Construction of JavaScript Benchmarks

Automated Construction of JavaScript Benchmarks Automated Construction of JavaScript Benchmarks Gregor Richards, Andreas Gal, Brendan Eich, Jan Vitek S 3 Lab, Computer Science Dept., Purdue University Mozilla Foundation Abstract JavaScript is a highly

More information

From Internet Data Centers to Data Centers in the Cloud

From Internet Data Centers to Data Centers in the Cloud From Internet Data Centers to Data Centers in the Cloud This case study is a short extract from a keynote address given to the Doctoral Symposium at Middleware 2009 by Lucy Cherkasova of HP Research Labs

More information

Using the Educator Dashboard

Using the Educator Dashboard Reference Guide Using the Educator Dashboard What s Inside How to Create Accounts Get to Know the Educator Dashboard How to Manage Licenses and Create Educators How to Give Accommodations to Students First

More information

The Future Of Computing

The Future Of Computing The Future Of Computing +Wesley Chun / @wescpy Developer Advocate, Google Fall 2013 goo.gl/gvotdj I Code 1 I Write I Teach 2 About You and This Talk Professional in Industry, Education, Government Open

More information

Tool - 1: Health Center

Tool - 1: Health Center Tool - 1: Health Center Joseph Amrith Raj http://facebook.com/webspherelibrary 2 Tool - 1: Health Center Table of Contents WebSphere Application Server Troubleshooting... Error! Bookmark not defined. About

More information

P&WC Portal Settings. 1) Portal Language Setting:

P&WC Portal Settings. 1) Portal Language Setting: P&WC Portal Settings In order to set your Internet Explorer Browser and to resolve a few specific issues that users of the P&WC Portal might have, we recommend that you change a few settings in your browser.

More information

Digital Storage Options MAKING ROOM IN THE CLOUD

Digital Storage Options MAKING ROOM IN THE CLOUD Digital Storage Options MAKING ROOM IN THE CLOUD Today s Objectives Download and start using Microsoft 365 and more specifically, OneDrive Digital Storage: Personally Speaking Dropbox As many accounts

More information

SOCIAL MEDIA 80 78 76 74 72 70 68 66 64 Access to free content Series 1 To learn Advanced news of products Series 1 A Social Roadmap Understand how and why people use social media Map the social

More information

Google Apps for Education (GAFE) Basics

Google Apps for Education (GAFE) Basics Google Apps for Education (GAFE) Basics Gmail & Chrome Gmail is Google Email. Our school email is actually Gmail. Chrome is a browser for accessing the Internet (just like Mozilla Firefox, Safari, Internet

More information

picojava TM : A Hardware Implementation of the Java Virtual Machine

picojava TM : A Hardware Implementation of the Java Virtual Machine picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer

More information

The V8 JavaScript Engine

The V8 JavaScript Engine The V8 JavaScript Engine Design, Implementation, Testing and Benchmarking Mads Ager, Software Engineer Agenda Part 1: What is JavaScript? Part 2: V8 internals Part 3: V8 testing and benchmarking What is

More information

Evaluating Four Aspects of JavaScript Execution Behavior in Benchmarks and Web Applications

Evaluating Four Aspects of JavaScript Execution Behavior in Benchmarks and Web Applications Evaluating Four Aspects of JavaScript Execution Behavior in Benchmarks and Web Applications Jan Kasper Martinsen 1,Håkan Grahn 1, and Anders Isberg 2 1 Blekinge Institute of Technology, Karlskrona, Sweden,

More information

Security Benefits of Cloud Computing

Security Benefits of Cloud Computing Security Benefits of Cloud Computing FELICIAN ALECU Economy Informatics Department Academy of Economic Studies Bucharest ROMANIA e-mail: alecu.felician@ie.ase.ro Abstract: The nature of the Internet is

More information

Open Source Technologies on Microsoft Azure

Open Source Technologies on Microsoft Azure Open Source Technologies on Microsoft Azure A Survey @DChappellAssoc Copyright 2014 Chappell & Associates The Main Idea i Open source technologies are a fundamental part of Microsoft Azure The Big Questions

More information

Consolidation and integration aspects of cloud services

Consolidation and integration aspects of cloud services Consolidation and integration aspects of cloud services White paper on the use of Cloud services part 2 www.traxion.com Introduction This white paper describes the consolidation and integration aspects

More information

1. Understanding Big Data

1. Understanding Big Data Big Data and its Real Impact on Your Security & Privacy Framework: A Pragmatic Overview Erik Luysterborg Partner, Deloitte EMEA Data Protection & Privacy leader Prague, SCCE, March 22 nd 2016 1. 2016 Deloitte

More information

GMass Getting Started Guide

GMass Getting Started Guide Powerful Mass Email System for Gmail Created by: Ajay Goel September 2015 GMass Getting Started Guide Table of Contents Section 1: Set Up Google Chrome & GMass... 1 Who Should Use This Guide... 1 Benefits

More information

How To Understand The Internet In Latamandorama

How To Understand The Internet In Latamandorama Living With The Internet A Latin American Study On What s Driving Web Behavior Agenda Project Objective & Methodology Executive Summary Evolution of the Internet Latin America Online Behavior Latin America

More information

The Past, Present and Future of XSS Defense Jim Manico. HITB 2011 Amsterdam

The Past, Present and Future of XSS Defense Jim Manico. HITB 2011 Amsterdam The Past, Present and Future of XSS Defense Jim Manico HITB 2011 Amsterdam 0 Jim Manico Managing Partner, Infrared Security Web Developer, 15+ Years OWASP Connections Committee Chair OWASP ESAPI Project

More information

Installing and Running the Google App Engine On Windows

Installing and Running the Google App Engine On Windows Installing and Running the Google App Engine On Windows This document describes the installation of the Google App Engine Software Development Kit (SDK) on a Microsoft Windows and running a simple hello

More information

IsItUp Quick Start Manual

IsItUp Quick Start Manual IsItUp - When you need to know the status of your network Taro Software Inc. Website: www.tarosoft.com Telephone: 703-405-4697 Postal address: 8829 110th Lane, Seminole Fl, 33772 Electronic mail: Contact1@tarosoft.com

More information

IIT MOBILEPRINT. Mobileprint Workflow

IIT MOBILEPRINT. Mobileprint Workflow IIT MOBILEPRINT Mobileprint integrates with existing OTS printing system to enable user to print documents, images and email messages using email client or a web capable devices. This include smartphones,

More information

Email Basics. Creating your e-mail.

Email Basics. Creating your e-mail. Email Basics Creating your e-mail. WHAT IS THIS CLASS? This class is a beginner s level, introductory course on basic email usage. We will cover topics such as creating an account, sending and receiving

More information

How To Write A Web Server In Javascript

How To Write A Web Server In Javascript LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client

More information

Cloud Computing. Orcas Island Chamber of Commerce Presentation November 7, 2012 Tony P Ghazel

Cloud Computing. Orcas Island Chamber of Commerce Presentation November 7, 2012 Tony P Ghazel Cloud Computing Orcas Island Chamber of Commerce Presentation November 7, 2012 Tony P Ghazel What is Cloud computing In its simplest form, cloud computing refers to resources and programs that are available

More information

Clojure and Android. Daniel Solano Gómez. Clojure/conj 2011. Sattvik Software & Technology Resources, Ltd. Co.

Clojure and Android. Daniel Solano Gómez. Clojure/conj 2011. Sattvik Software & Technology Resources, Ltd. Co. Sattvik Software & Technology Resources, Ltd. Co. Clojure/conj 2011 Clojure in Small Places Sattvik Software & Technology Resources, Ltd. Co. Clojure/conj 2011 Clojure to go Sattvik Software & Technology

More information

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,

More information

Chapter. Solve Performance Problems with FastSOA Patterns. The previous chapters described the FastSOA patterns at an architectural

Chapter. Solve Performance Problems with FastSOA Patterns. The previous chapters described the FastSOA patterns at an architectural Chapter 5 Solve Performance Problems with FastSOA Patterns The previous chapters described the FastSOA patterns at an architectural level. This chapter shows FastSOA mid-tier service and data caching architecture

More information

Google Apps Migration

Google Apps Migration Academic Technology Services Google Apps Migration Getting Started 1 Table of Contents How to Use This Guide... 4 How to Get Help... 4 Login to Google Apps:... 5 Import Data from Microsoft Outlook:...

More information

Protect, License and Sell Xojo Apps

Protect, License and Sell Xojo Apps Protect, License and Sell Xojo Apps To build great software with Xojo, you focus on user needs, design, code and the testing process. To build a profitable business, your focus expands to protection and

More information

Gmail's new compose and reply experience

Gmail's new compose and reply experience Gmail's new compose and reply experience You can now write messages in a cleaner, simpler experience that puts the focus on your message itself, not all the features around it. Here are some of the highlights:

More information

Get Started with LeadSquared Guide for Marketing Users. Complete lead to revenue platform

Get Started with LeadSquared Guide for Marketing Users. Complete lead to revenue platform Get Started with LeadSquared Guide for Marketing Users Complete lead to revenue platform Bookmark LeadSquared Login Page Login to LeadSquared at https://run.leadsquared.com (Bookmark the URL) LeadSquared

More information

Vancouver Community College Web Orientation

Vancouver Community College Web Orientation Access the myvcc Web Portal The myvcc portal provides a secure environment for VCC students to: Access VCC s Moodle online learning environment Access your student email (Microsoft Office365) Check your

More information

johnireland@eircom.net

johnireland@eircom.net Email Electronic mail is the transmission of mainly text based messages across networks. This can be within a particular network - internal mail - or between networks - external mail. The most common network

More information

Rich Internet Applications

Rich Internet Applications Rich Internet Applications [Image coming] Ryan Stewart Rich Internet Application Evangelist rstewart@adobe.com Ryan Stewart Flex Developer for 3 years Rich Internet Application Blogger for 2 years http://blogs.zdnet.com/stewart/

More information

Microsoft Outlook 2003 Quick Reference

Microsoft Outlook 2003 Quick Reference Microsoft Outlook 2003 Quick Reference Table of Contents Creating Messages 3 Using the Address book 3 Sending messages 3 Saving unfinished messages 4 Adding attachments 4 Using automatic signatures 5 Reading

More information

Advantage Database Server

Advantage Database Server whitepaper Advantage Database Server Scalability Technical Brief A whitepaper from Sybase ianywhere TABLE OF CONTENTS 1 Introduction 2 Specifications 2 Tables 2 Server Machine 2 Client Machine 2 Development

More information

Frequently asked questions about Java TM capancdt 6200 colorcontrol ACS 7000 confocaldt 2451/2471 CSP 2008 eddyncdt 3100 ILD 2300.

Frequently asked questions about Java TM capancdt 6200 colorcontrol ACS 7000 confocaldt 2451/2471 CSP 2008 eddyncdt 3100 ILD 2300. ? Frequently asked questions about Java TM capancdt 6200 colorcontrol ACS 7000 confocaldt 2451/2471 CSP 2008 eddyncdt 3100 ILD 2300 optocontrol 2520 MICRO-EPSILON MESSTECHNIK GmbH & Co. KG Königbacher

More information

Eclipse Visualization and Performance Monitoring

Eclipse Visualization and Performance Monitoring Eclipse Visualization and Performance Monitoring Chris Laffra IBM Ottawa Labs http://eclipsefaq.org/chris Chris Laffra Eclipse Visualization and Performance Monitoring Page 1 Roadmap Introduction Introspection

More information

GOOGLE DRIVE Google Apps Documents Step-by-Step Guide

GOOGLE DRIVE Google Apps Documents Step-by-Step Guide Table of Contents Creating a New Document... 2 Editing a Document... 3 Collaborate on a Document... 3 Revision History... 4 Sharing your Documents... 6 Inviting people to View, Edit, or Comment... 7 Uploading

More information

C# and Other Languages

C# and Other Languages C# and Other Languages Rob Miles Department of Computer Science Why do we have lots of Programming Languages? Different developer audiences Different application areas/target platforms Graphics, AI, List

More information

Presented by SitesByDerek

Presented by SitesByDerek Presented by SitesByDerek Table of Contents Is Free Hosting Reliable? 2 Why You Need a Good Hosting Service 2 Understanding Hosting Fundamentals 2 What is Dedicated Hosting? 2 Understanding Virtual Hosting

More information

A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks

A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks Sylvia Dieckmann and Urs Hölzle University of California at Santa Barbara Department of Computer Science Santa Barbara, CA 936 {sylvie,

More information

Building A Self-Hosted WebRTC Project

Building A Self-Hosted WebRTC Project Building A Self-Hosted WebRTC Project Rod Apeldoorn EasyRTC Server Lead Priologic Software Inc. rod.apeldoorn@priologic.com Slides will be available at: http://easyrtc.com/cloudexpo/ A Little About Priologic

More information

Getting Started Introduction to iphones

Getting Started Introduction to iphones Getting Started Introduction to iphones 1. Introduction to using iphones 2. Buttons on your iphone 3. Using the keyboard in your iphone 4. Scrolling through your apps 5. Texting and calling 6. Adding contacts

More information

Using e-mail and the Internet

Using e-mail and the Internet Using e-mail and the Internet New to Windows 7? Even though there s a lot in common with the version of Windows that you had before, you might still need a hand getting up to speed. This guide is filled

More information

Native v HTML5 An Event Planner s Primer

Native v HTML5 An Event Planner s Primer v HTML5 An Event Planner s Primer If you ve researched mobile apps for your conference, tradeshow or event, you ve probably come across the question or HTML5? Both provide an app experience designed for

More information

Using OneDrive for Business to save and share files in the cloud

Using OneDrive for Business to save and share files in the cloud Using OneDrive for Business to save and share files in the cloud Contents Creating and working with files on OneDrive for Business... 2 Signing in... 2 Creating a new file or folder in OneDrive for Business...

More information

Lab Experience 17. Programming Language Translation

Lab Experience 17. Programming Language Translation Lab Experience 17 Programming Language Translation Objectives Gain insight into the translation process for converting one virtual machine to another See the process by which an assembler translates assembly

More information

SUNY Adirondack email

SUNY Adirondack email SUNY Adirondack email Official Correspondence Faculty, Staff and Students should be aware that their campus email account is considered their official email account in regard to all business pertaining

More information

Gmail: Sending, replying, attachments, and printing

Gmail: Sending, replying, attachments, and printing If you're using an old version of Gmail, your Inbox may look a little different. Gmail: Sending, replying, attachments, and printing Welcome to Gmail. This document will give you a quick overview of how

More information

ISI ACADEMY Web applications Programming Diploma using PHP& MySQL

ISI ACADEMY Web applications Programming Diploma using PHP& MySQL ISI ACADEMY for PHP& MySQL web applications Programming ISI ACADEMY Web applications Programming Diploma using PHP& MySQL HTML - CSS - JavaScript PHP - MYSQL What You'll Learn Be able to write, deploy,

More information

Rich Internet Applications

Rich Internet Applications Rich Internet Applications Prepared by: Husen Umer Supervisor: Kjell Osborn IT Department Uppsala University 8 Feb 2010 Agenda What is RIA? RIA vs traditional Internet applications. Why to use RIAs? Running

More information

Introduction to Webmail. Apache County Library District April 2011

Introduction to Webmail. Apache County Library District April 2011 Introduction to Webmail Apache County Library District April 2011 1 Review of terms we will be using in this tutorial: Single-click: This refers to a single click of the left mouse button. If you hold

More information

Microsoft Office 365 vs Google Apps for Business

Microsoft Office 365 vs Google Apps for Business Microsoft Office 365 vs Google Apps for Business A publication by Is this ebook right for me? Not quite sure if this ebook is right for you? See the below description to determine if your level matches

More information

Introduction to Cloud Storage GOOGLE DRIVE

Introduction to Cloud Storage GOOGLE DRIVE Introduction to Cloud Storage What is Cloud Storage? Cloud computing is one method to store and access data over the internet instead of using a physical hard drive (e.g. computer s hard drive, flash drive,

More information

Virtual Machine Learning: Thinking Like a Computer Architect

Virtual Machine Learning: Thinking Like a Computer Architect Virtual Machine Learning: Thinking Like a Computer Architect Michael Hind IBM T.J. Watson Research Center March 21, 2005 CGO 05 Keynote 2005 IBM Corporation What is this talk about? Virtual Machines? 2

More information

Software Requirements Specification

Software Requirements Specification Software Requirements Specification Version 1.1 March 7, 2013 Prepared by Group Name: The Constructors Alex Hamstra 4506291 alexhamstra@gmail.com Jared Roesch 4826574 roeschinc@gmail.com Kyle Jorgensen

More information

Monitoring and Managing a JVM

Monitoring and Managing a JVM Monitoring and Managing a JVM Erik Brakkee & Peter van den Berkmortel Overview About Axxerion Challenges and example Troubleshooting Memory management Tooling Best practices Conclusion About Axxerion Axxerion

More information

Contacts: Email, find, and manage your contacts

Contacts: Email, find, and manage your contacts Does your Contact Manager look different than what s shown here? To fix this, switch to the new look! Contacts: Email, find, and manage your contacts With Google Apps, you can easily organize, find, contact,

More information

Client Training Manual

Client Training Manual Client Training Manual Contents Quick Summary on How to Open Encrypted Email from Arlington County.2 I. Overview... 4 A. Overview of Email Encryption with Arlington County Government... 4 Link to YouTube

More information

Resco CRM Guide. Get to know Resco CRM

Resco CRM Guide. Get to know Resco CRM Resco CRM Guide Get to know Resco CRM Table of Contents Introducing Resco CRM... 3 1.1. What is Resco CRM...3 1.2. Capabilities of Resco CRM... 4 1.3. Who should use Resco CRM...5 1.4. What are the main

More information

A JIT Compiler for Android s Dalvik VM. Ben Cheng, Bill Buzbee May 2010

A JIT Compiler for Android s Dalvik VM. Ben Cheng, Bill Buzbee May 2010 A JIT Compiler for Android s Dalvik VM Ben Cheng, Bill Buzbee May 2010 Overview View live session notes and ask questions on Google Wave: http://bit.ly/bizjnf Dalvik Environment Trace vs. Method Granularity

More information

Trace-Based and Sample-Based Profiling in Rational Application Developer

Trace-Based and Sample-Based Profiling in Rational Application Developer Trace-Based and Sample-Based Profiling in Rational Application Developer This document is aimed at highlighting the importance of profiling in software development and talks about the profiling tools offered

More information

Entrust Managed Services PKI Administrator s Quick Start Guide

Entrust Managed Services PKI Administrator s Quick Start Guide Entrust Managed Services PKI Administrator s Quick Start Guide Each Managed Services PKI organization requires an administrator also known as a local registration authority (LRA) whose duty it is to manage

More information

AJAX: Highly Interactive Web Applications. Jason Giglio. jgiglio@netmar.com

AJAX: Highly Interactive Web Applications. Jason Giglio. jgiglio@netmar.com AJAX 1 Running head: AJAX AJAX: Highly Interactive Web Applications Jason Giglio jgiglio@netmar.com AJAX 2 Abstract AJAX stands for Asynchronous JavaScript and XML. AJAX has recently been gaining attention

More information

Earn Money Sharing YouTube Videos

Earn Money Sharing YouTube Videos Earn Money Sharing YouTube Videos Get Started FREE! Make money every time you share a video, also make money every time the videos you have shared get watched! Unleash The Viral Power of Social Media To

More information

Setting up an Apple ID

Setting up an Apple ID Setting up an Apple ID SETUP GUIDE: This setup guide was created for Albany Creek State High school to be used only for the purpose of assisting school staff and students in setting up and configuring

More information

language 1 (source) compiler language 2 (target) Figure 1: Compiling a program

language 1 (source) compiler language 2 (target) Figure 1: Compiling a program CS 2112 Lecture 27 Interpreters, compilers, and the Java Virtual Machine 1 May 2012 Lecturer: Andrew Myers 1 Interpreters vs. compilers There are two strategies for obtaining runnable code from a program

More information

Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best!

Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browsers Tested Google Chrome 23 Mozilla Firefox 16 Internet Explorer 10 Internet Explorer 9

More information

MXwendler Javascript Interface Description Version 2.3

MXwendler Javascript Interface Description Version 2.3 MXwendler Javascript Interface Description Version 2.3 This document describes the MXWendler (MXW) Javascript Command Interface. You will learn how to control MXwendler through the Javascript interface.

More information

>>Welcome to IHS Online

>>Welcome to IHS Online Sometimes online learning feels like a very lonely place. With IHS Online you join a virtual community of fellow students who study with you assisted by a tutor. The International Hotel School Online Campus,

More information

HCM on Any Device SAP Fiori Apps for Human Capital Management

HCM on Any Device SAP Fiori Apps for Human Capital Management Orange County Convention Center Orlando, Florida June 3-5, 2014 HCM on Any Device SAP Fiori Apps for Human Capital Management Satyam Singh Gertrud Beisel LEARNING POINTS Fiori and the UX Strategy Principles

More information

CSC309 Winter 2016 Lecture 3. Larry Zhang

CSC309 Winter 2016 Lecture 3. Larry Zhang CSC309 Winter 2016 Lecture 3 Larry Zhang 1 Why Javascript Javascript is for dynamically manipulate the front-end of your web page. Add/remove/change the content/attributes of an HTML element Change the

More information

Progressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com

Progressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com Progressive Enhancement With GQuery and GWT Ray Cromwell ray@timefire.com Web Application Models Web 1.0, 1 Interaction = 1 Page Refresh Pure JS, No Navigation Away from Page Mixed Model, Page Reloads

More information

ECM 210 - Chapter 4 Building an E-commerce Presence: Web Sites, Mobile Sites, and Apps

ECM 210 - Chapter 4 Building an E-commerce Presence: Web Sites, Mobile Sites, and Apps ECM 210 - Chapter 4 Building an E-commerce Presence: Web Sites, Mobile Sites, and Apps Imagine Your E-commerce Presence What s the idea? Vision Mission statement Target audience Intended market space Strategic

More information

1 Which of the following questions can be answered using the goal flow report?

1 Which of the following questions can be answered using the goal flow report? 1 Which of the following questions can be answered using the goal flow report? [A] Are there a lot of unexpected exits from a step in the middle of my conversion funnel? [B] Do visitors usually start my

More information

Drupal Performance Tuning

Drupal Performance Tuning Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web

More information

風 水. Heap Feng Shui in JavaScript. Alexander Sotirov. asotirov@determina.com

風 水. Heap Feng Shui in JavaScript. Alexander Sotirov. asotirov@determina.com 風 水 Heap Feng Shui in JavaScript Alexander Sotirov asotirov@determina.com Black Hat Europe 2007 Introduction What is Heap Feng Shui? the ancient art of arranging heap blocks in order to redirect the program

More information

Four Ways to Modernize Your Application Performance Monitoring Strategy for Web 2.0 and AJAX

Four Ways to Modernize Your Application Performance Monitoring Strategy for Web 2.0 and AJAX Four Ways to Modernize Your Application Performance Monitoring Strategy for Web 2.0 and AJAX Abstract As businesses become increasingly reliant on online channels for customer interactions, the need for

More information

Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best!

Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browsers Tested Google Chrome 31 Mozilla Firefox 25 Internet Explorer 11 Opera 17 Apple Safari

More information

Data Memo. BY: Associate Director John B. Horrigan (202-419-4500) RE: USE OF CLOUD COMPUTING APPLICATIONS AND SERVICES September 2008

Data Memo. BY: Associate Director John B. Horrigan (202-419-4500) RE: USE OF CLOUD COMPUTING APPLICATIONS AND SERVICES September 2008 Data Memo BY: Associate Director John B. Horrigan (202-419-4500) RE: USE OF CLOUD COMPUTING APPLICATIONS AND SERVICES September 2008 Cloud computing takes hold as 69% of all internet users have either

More information