Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Google I/O 2008 - Dalvik Virtual Machine Internals

    Google for Developers

    1 HN recommender · recommended in 4 months, 2012–2018

    YouTube

    1:01:34 · 188K views · Jun 3, 2008

    Dan Bornstein's Google I/O 2008 talk on the internals of Dalvik, the virtual machine that runs Android code. It covers the motivation for its design, the dex format and its register-based interpreter, plus tips for writing code that suits the platform.

    HN points to it as the primary source on Dalvik's dex bytecode, register-based design and memory-saving choices.

    Software Engineering & LanguagesCompilers, interpreters & program analysisOperating systems & kernels
    1. 52:38
      A JVM Does That?Google TechTalks80K views • 15 years ago
    2. 1:15:09
      Cliff Click @ VMSS16: Bits of Advice For the VM Writersoftdevteamuk4.2K views • 10 years ago
    3. 1:12:02
      Java on a 1000 Cores - Tales of Hardware / Software CoDesignGoogle TechTalks23K views • 17 years ago
    4. 40:03
      Google I/O 2013 - High Performance AudioGoogle for Developers62K views • 13 years ago
    5. 48:32
      Google I/O 2014 - Android fireside chatGoogle for Developers19K views • 12 years ago
    6. 1:21:25
      Let's prototype a JavaScript JIT compiler!Andreas Kling49K views • 3 years ago
    7. 1:20:29
      Stanford Seminar - Google's Steve Yegge on GROKStanford Online30K views • 14 years ago
    8. 2:02:18
      The Mill CPU Architecture – The Compiler (10 of 13)Mill Computing, Inc.12K views • 11 years ago
    9. 1:00:29
      Google I/O 2012 - Meet the Go TeamGoogle for Developers108K views • 14 years ago
    10. 51:27
      Google I/O 2012 - Go Concurrency PatternsGoogle for Developers894K views • 14 years ago
    11. 47:51
      Brandt Bucher – A JIT Compiler for CPythonencukou14K views • 2 years ago
    12. 23:57
      GopherCon 2016: The Design of the Go Assembler - Rob PikeGopher Academy116K views • 10 years ago
    13. 1:06:20
      USENIX ATC '21/OSDI '21 Joint Keynote Address-It's Time for Operating Systems to Rediscover HardwareUSENIX46K views • 5 years ago
    14. 9:03
      NixOS VM on Mac SetupMitchell Hashimoto31K views • 5 years ago
    15. 49:55
      How Python was Shaped by leaky Internals, Armin Ronacher, Flask frameworkВидео с мероприятий {speach!20K views • 10 years ago
    16. 1:14:32
      Building Your Own Dynamic LanguageStanford21K views • 18 years ago
    17. 1:15:46
      CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon178K views • 9 years ago
    18. 42:54
      Containers From Scratch • Liz Rice • GOTO 2018GOTO Conferences321K views • 8 years ago
    19. 34:00
      User-level threads....... with threads. - Paul Turner - GoogleLinux Plumbers Conference41K views • 13 years ago
    20. 34:21
      Plover: Thought to Text at 240 WPMNext Day Video109K views • 13 years ago

    4 comments from Hacker News

    1. @yonranMay 2012· in “Android Ported to C#”

      Here's Dan Bornstein's talk at Google I/O 2008 about the dex format and the original Dalvik interpreter: this video I'm not sure how useful it is in comparing the Dalvik JIT to MonoTouch though.

      RecommendsView on HN
    2. @ttuominenJan 2013· in “Ubuntu for phones”

      I agree: within the Android ecosystem and even within the ARM family, bytecode provides portability: you don't have to compile and distribute apps for different versions of the ARM architecture. It's paradoxical however that to increase the portability of certain types of apps across mobile ecosystems, eg. iOS and Android, and now Ubuntu, your best bet can be to write the portable part in native C or C++, bypassing the Dalvik layer using JNI/NDK. This is apparently the common way to make cross-platform mobile games. On memory consumption: I haven't made any measurements, but the Android .dex bytecode format has been designed with low space requirements in mind. See this video . However, all apps run in their own VM process, with lots of common structures shared with them using an initial shared VM process and clever forking. I always thought one of the main original motivations to use Java was because it's so well spread among developers. Since in the early days before the JIT compiler, there must have been a really obvious overhead even with the interpreter hand-coded in assembly. But they must have wanted to use a well known higher level language with good IDE support etc. Ubuntu mobile apparently uses Qt: "It uses QML to give you a really slick, easy development experience for native apps with engines in C or C++, and JavaScript for UI glue that isn’t performance critical. We also give you full native OpenGL, which the top games companies are using to make incredible games."

      CitesView on HN
    3. @chubotJan 2017· in “Dismissing Python Garbage Collection at Instagram”

      This is a great post. I like how they walked through all the steps and especially the "perf" tool. Ruby has a patch to do the same thing -- increase sharing by moving reference counts out of the object itself: Index here: [LINK] First post in a long series: [LINK] I think these patches or something similar may have made it into Ruby 2.0: [LINK] [LINK] The Dalvik VM (now replaced by ART) also did this to run on phones with 64 MiB of memory: this video I think PHP might do it too. It feels like Python should be doing this as well.

      CitesView on HN
    4. @jashmatthewsSep 2018· in “Profiling CPython at Instagram (2017)”

      There's an experimental branch for Ruby: [LINK] Dalvik also uses a register-based bytecode. The early versions of Android needed a more efficient interpreter. Dan Bornstein's talk: this video A classic paper on Register vs Stack VMs: [LINK]

      CitesView on HN