{"id":12475,"date":"2015-10-08T20:41:50","date_gmt":"2015-10-09T00:41:50","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=12475"},"modified":"2015-10-08T20:42:59","modified_gmt":"2015-10-09T00:42:59","slug":"jitterdmmerung","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2015\/10\/08\/jitterdmmerung\/","title":{"rendered":"Jitterd&auml;mmerung"},"content":{"rendered":"<p><a href=\"http:\/\/blog.metaobject.com\/2015\/10\/jitterdammerung.html\">Marcel Weiher<\/a> (<a href=\"https:\/\/twitter.com\/mpweiher\/status\/651529796426575872\">tweet<\/a>, <a href=\"https:\/\/news.ycombinator.com\/item?id=10344601\">comments<\/a>):<\/p>\n<blockquote cite=\"http:\/\/blog.metaobject.com\/2015\/10\/jitterdammerung.html\">\n<p>With Apple doggedly sticking to Ahead of Time Compilation for Objective-C and now their new Swift, JavaScript is pretty much the last mainstream hold-out for JIT technology. And even in JavaScript, the state-of-the-art for achieving maximum performance appears to be asm.js, which largely eschews JIT techniques by acting as object-code in the browser represented in JavaScript for other languages to be AOT-compiled into.<\/p>\n<p>I think this shift away from JITs is not a fluke but was inevitable, in fact the big question is why it has taken so long (probably industry inertia). The benefits were always less than advertised, the costs higher than anticipated. More importantly though, the inherent performance characteristics of JIT compilers don&rsquo;t match up well with most real world systems, and the shift to mobile has only made that discrepancy worse. Although JITs are not going to go away completely, they are fading into the sunset of a well-deserved retirement.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Marcel Weiher (tweet, comments): With Apple doggedly sticking to Ahead of Time Compilation for Objective-C and now their new Swift, JavaScript is pretty much the last mainstream hold-out for JIT technology. And even in JavaScript, the state-of-the-art for achieving maximum performance appears to be asm.js, which largely eschews JIT techniques by acting as object-code in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[255,84,346,817,46,138,71,901],"class_list":["post-12475","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-compiler","tag-java","tag-javascript","tag-just-in-time-compilation-jit","tag-languagedesign","tag-optimization","tag-programming","tag-swift-programming-language"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/12475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=12475"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/12475\/revisions"}],"predecessor-version":[{"id":12476,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/12475\/revisions\/12476"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=12475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=12475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=12475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}