This video is unavailable.
Google I/O 2010 - A JIT Compiler for Android's Dalvik VM
344,600
Subscription preferences
Loading...
Loading...
Working...
40,852
96
4
Sign in to YouTube
Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to like GoogleDevelopers's video.
Sign in to YouTube
Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to dislike GoogleDevelopers's video.
Sign in to YouTube
Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to add GoogleDevelopers's video to your playlist.
Uploaded on May 27, 2010
Google I/O 2010 - A JIT Compiler for Android's Dalvik VM
Android 301
Ben Cheng, Bill Buzbee
In this session we will outline the design of a JIT Compiler suitable for embedded Android devices. Topics will include an architectural overview, the rationale for design decisions and the special support for JIT verification, testing and tuning.
For all I/O 2010 sessions, please go to http://code.google.com/events/io/2010...
-
Category
-
License
Standard YouTube License
Loading...
Loading...
Loading...
The interactive transcript could not be loaded.
Loading...
Loading...
Ratings have been disabled for this video.
Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Loading...
-
54:34
Google I/O 2010 - A beginner's guide to Androidby GoogleDevelopers
186,843 views
-
55:16
Google I/O 2009 - The Myth of the Genius Programmerby GoogleDevelopers
237,736 views
-
57:38
Google I/O 2010 - Writing zippy Android appsby GoogleDevelopers
62,752 views
-
58:57
Google I/O 2010 - Writing real-time games for Android reduxby GoogleDevelopers
98,689 views
-
1:01:37
Compiling and Optimizing Scripting Languagesby GoogleTechTalks
18,447 views
-
1:13
Androiod 2.2 benchmark demo at Google I/O 2010by atmarkit itmedia
5,790 views
-
1:17:42
Mastering C2DM: The Android Cloud to Device Messaging Frameworkby MarakanaTechTV
17,217 views
-
14
videos
Play all
Google I/O 2010 - Androidby GoogleDevelopers
-
43:22
Android Development Fundamentals: What I wish I knew when I startedby MarakanaTechTV
13,235 views
-
2:01:14
Learn how to develop for Android, Beyond HelloWorldby UserGroupsatGoogle
273,588 views
-
39:27
I/O BootCamp 2011: Beginner's Guide to Androidby GoogleDevelopers
82,263 views
-
1:01:34
Google I/O 2008 - Dalvik Virtual Machine Internalsby GoogleDevelopers
97,067 views
-
12:41
Androidology - Part 1 of 3 - Architecture Overviewby Google
232,730 views
-
3:38
android 2.2(froyo) ported on BeagleBoard [JIT]by KUNOICHIANDROID
5,116 views
-
59:51
Google I/O 2011: Best Practices for Accessing Google APIs on Androidby GoogleDevelopers
33,665 views
-
52:28
Google I/O 2011: Android Market for Developersby GoogleDevelopers
38,243 views
-
41:15
Google I/O 2013 - Enchant, Simplify, Amaze: Android's Design Principlesby GoogleDevelopers
49,117 views
-
1:01:33
Google I/O 2009 - Coding for Life -- Battery Life, That Isby GoogleDevelopers
61,141 views
-
42:39
Google I/O 2011: Android Open Accessory API and Development Kit (ADK)by GoogleDevelopers
57,543 views
-
1:01:12
Google I/O 2011: Android Protips: Advanced Topics for Expert Android App Developersby GoogleDevelopers
105,780 views
-
1:01:39
Google I/O 2010 - Fireside chat with the Android teamby GoogleDevelopers
25,451 views
- Loading more suggestions...
All Comments (25)
alexgrinkov 3 weeks ago
By call overhead I mean the actual overhead to call a function. I don't know how ARM processors or whatever Android runs on work, but on x86, to call a function, you need to establish a stack frame by moving registers around, by pushing required arguments in stack, by saving caller-saved registers used at the point of function call, by performing a jump and then after the call, you destruct the frame, and jump back... And all of this can be done using 1 vectorized instruction.
Sign in to YouTube
Sign in to YouTube
SharifAjmal 3 weeks ago
I haven't programmed in Java in ages, so I don't remember exactly how this works, but I know there was some sort of pass-by-reference-esque thing you an do... (I think you just wrap the contents of the stuff in an object or something.) So the only overhead is creating the activation record. (Negligible relative to the work the function will do for you.)
I should probably try to write some Java again at some point. :p
Sign in to YouTube
Sign in to YouTube
alexgrinkov 3 weeks ago
But games require lots of matrix/vector math. There's a lot of overhead to call functions to do, for example, vector multiplication instead of doing it inline in native code.
Sign in to YouTube
Sign in to YouTube
alexgrinkov 3 weeks ago
"ask questions on Google Wave"
haha
Sign in to YouTube
Sign in to YouTube
SharifAjmal 1 month ago
So if you're running something like a game that depends heavily on library code, you're not gonna get much of a performance boost from your translation cache... But you're also not gonna get much of a slowdown either (relative to purely native code); most of your time will be spent in library code, which is already compiled native. So there's not much translation overhead. (Plus the Dalvik interpreter was already twice as fast as the JVM interpreter; probably even faster now.)
Sign in to YouTube
Sign in to YouTube
deathxblade 1 month ago
So your saying its taking away CPU resources? But WITHOUT JIT you will have the interpreter taking up CPU resources. The only time JIT is bad is when all of your code is already in native code, which maybe you are thinking of since many 3D graphic libraries might be all in native code? Not sure.
Sign in to YouTube
Sign in to YouTube
VoLtrex31 1 month ago
3D intense software such as video games .
your CPU will have to do 2 tasks - 1 is to load data as you play.
2 to process the game.
while when JIT is turned off you will first load 100% of the game data and "Then" your CPU will Only process the game .
as for Quad CPU then the CPU can do it both with out much issues.
hope i made it more clear. i do not claim this information is right- IMO.
Sign in to YouTube
Sign in to YouTube
deathxblade 1 month ago
Your comment doesn't really make sense. What about "high end" programs make it run slower with JIT on?
Sign in to YouTube
Sign in to YouTube
Graham Steffaniak 1 year ago
5:21 "its really a smallish amount of code"
Sign in to YouTube
Sign in to YouTube