{"id":203,"date":"2008-11-25T23:12:30","date_gmt":"2008-11-26T04:12:30","guid":{"rendered":"https:\/\/lowtek.ca\/roo\/?p=203"},"modified":"2008-11-25T23:13:13","modified_gmt":"2008-11-26T04:13:13","slug":"64bit-follow-up","status":"publish","type":"post","link":"https:\/\/lowtek.ca\/roo\/2008\/64bit-follow-up\/","title":{"rendered":"64bit Follow-up"},"content":{"rendered":"<p>The decision to start including work related items in my blog certainly had a dramatic impact.<\/p>\n<p><a href=\"https:\/\/lowtek.ca\/roo\/wp-content\/uploads\/2008\/11\/blogstats.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-204\" title=\"blogstats\" src=\"https:\/\/lowtek.ca\/roo\/wp-content\/uploads\/2008\/11\/blogstats.jpg\" alt=\"\" width=\"500\" height=\"277\" \/><\/a>Hopefully I&#8217;m not a one hit wonder and will never say anthing relevant (or at least link worthy) again. \u00a0I remain open to suggestions for content, so if you have questions you think I might be able to answer contact information is available on my <a href=\"https:\/\/lowtek.ca\/roo\/about\/\">About page<\/a>.<\/p>\n<p>The spike was generated by my posting about <a href=\"https:\/\/lowtek.ca\/roo\/2008\/java-performance-in-64bit-land\/\">64bit java performance<\/a>, and this post is a follow up to provide a bit more data on some areas I touched on.<\/p>\n<p>There is some more data on the Sun JDK implementation on the <a href=\"http:\/\/wikis.sun.com\/display\/HotSpotInternals\/CompressedOops\">HotSpot wiki<\/a>. \u00a0Based on the recent publish of some <a href=\"http:\/\/www.spec.org\/jbb2005\/\/results\/res2008q3\/jbb2005-20080909-00530.html\">SpecJBB2005 results<\/a>, it seems there is (or will be) a supported version of compressed pointers from Sun.<\/p>\n<p>Of course, the careful observer may noticed that the results are from an x86 based platform. \u00a0Does compressed pointer technology only matter on x86 based platforms? \u00a0In my original posting I focused on the <a href=\"http:\/\/en.wikipedia.org\/wiki\/X86-64\">x86-64<\/a> architecture and the benefits (and pitfalls) it brought to applications. \u00a0In brief, by moving to 64bits the gain was both bigger and more registers. \u00a0If we look at <a href=\"http:\/\/en.wikipedia.org\/wiki\/SPARC\">Sparc<\/a> or <a href=\"http:\/\/en.wikipedia.org\/wiki\/IBM_POWER\">POWER<\/a> CPUs &#8211; these were both created with an eye on 64bit implementations, and thus the move to 64bits had less of an impact on the instruction set or register width. \u00a0This means that for these systems, 64bit support results in more data (due to pointer size doubling) to move without any real benefit in terms of instruction set (read: code optimization).<\/p>\n<p>Currently I believe Sun has only implemented their compressed pointer solution on x86-64 systems. \u00a0There is no strong technical reason preventing it from being done on a Sparc system, but as I pointed out above the benefit may be harder to realize. \u00a0The IBM Java6 JDK supports compressed pointers on POWER (AIX\/Linux) and there is a measurable improvement on memory intensive benchmarks. \u00a0IBM also supports this feature on zSeries (yup, the mainframe) and the following graph shows how the 64bit environment nearly matches the performance of the 31bit environment under Linux.<\/p>\n<p><a href=\"http:\/\/ew.share.org\/client_files\/callpapers\/attach\/SHARE_in_San_Jose\/S2560JS124105.pdf\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-206\" title=\"31vs64\" src=\"https:\/\/lowtek.ca\/roo\/wp-content\/uploads\/2008\/11\/31vs64.jpg\" alt=\"\" width=\"476\" height=\"474\" \/><\/a><\/p>\n<p>The -Xlp option is used to configure the IBM JDK to use &#8216;large pages&#8217; to allocate the heap. \u00a0The details about large page support I&#8217;ll save for a future posting. \u00a0\u00a0<\/p>\n<p>So while most of the excitement around Java performance on 64bit systems is focused on x86-64, it is worth considering on other architectures. \u00a0 I believe this will become more important as java applications continue to grow and start hitting the limits of the 32bit address space, forcing a move to 64bit.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The decision to start including work related items in my blog certainly had a dramatic impact. Hopefully I&#8217;m not a one hit wonder and will never say anthing relevant (or at least link worthy) again. \u00a0I remain open to suggestions for content, so if you have questions you think I might be able to answer &hellip; <a href=\"https:\/\/lowtek.ca\/roo\/2008\/64bit-follow-up\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;64bit Follow-up&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-203","post","type-post","status-publish","format-standard","hentry","category-work"],"_links":{"self":[{"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/posts\/203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/comments?post=203"}],"version-history":[{"count":3,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/posts\/203\/revisions"}],"predecessor-version":[{"id":208,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/posts\/203\/revisions\/208"}],"wp:attachment":[{"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/media?parent=203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/categories?post=203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/tags?post=203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}