{"id":1352,"date":"2009-04-06T19:49:05","date_gmt":"2009-04-07T02:49:05","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/?p=1352"},"modified":"2010-01-24T18:28:54","modified_gmt":"2010-01-25T02:28:54","slug":"performance-smackdown-now-with-64-bit","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/performance-smackdown-now-with-64-bit\/","title":{"rendered":"Performance Smackdown, Now With 64-bit"},"content":{"rendered":"<p>Another in my continuing series of compiler performance reports&#8211; that is, the performance of straight C code when compiled by assorted compilers. <a href=\"http:\/\/multimedia.cx\/eggs\/icc-vs-gcc-smackdown-round-3\/\">Pursuant to round 3<\/a>, I downloaded the <a href=\"http:\/\/herebedragonsmovie.com\/download.php\">long, free, hi-def H.264\/AAC movie<\/a> to profile, as <a href=\"http:\/\/multimedia.cx\/eggs\/icc-vs-gcc-smackdown-round-3\/#comment-142716\">suggested by Reimar<\/a> and profiled that. It takes 11-15 minutes to decode the entire thing on my 2.13 GHz Core 2. No matter; my machine is patient, and here are the results:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/04\/icc-vs-gcc-32-bit-smackdown-round4.png\" alt=\"icc vs gcc performance chart when running FFmpeg, round 4\" title=\"icc vs gcc performance chart when running FFmpeg, round 4\" width=\"484\" height=\"263\" class=\"aligncenter size-full wp-image-1353\" srcset=\"https:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/04\/icc-vs-gcc-32-bit-smackdown-round4.png 484w, https:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/04\/icc-vs-gcc-32-bit-smackdown-round4-300x163.png 300w\" sizes=\"auto, (max-width: 484px) 100vw, 484px\" \/><br \/>\n<\/center><\/p>\n<p>&#8220;gcc-svn&#8221; is gcc 4.4.0-svn, revision 143046, built on 2009-01-03, same as before.<\/p>\n<p>All validations passed. Further, I used &#8220;march=pentium4&#8221; <a href=\"http:\/\/multimedia.cx\/eggs\/icc-vs-gcc-smackdown-round-3\/#comment-142715\">as suggested by Flameeyes<\/a>, on compilers that supported the option but not &#8220;march=core2&#8221; (gcc 3.4.6, 4.0.4, 4.1.2, and 4.2.4). I think that improved performance for those, but I won&#8217;t know for sure unless I run with the original MPEG-4 part 2\/MP3 movie from the previous tests.<\/p>\n<p>I also took this opportunity to see how native 64-bit builds performed on the same machine. I hope one day to get Intel&#8217;s 64-bit compiler working so it can be included in the competition:<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/04\/gcc-64-bit-profiling-ffmpeg.png\" alt=\"Profiling 64-bit code using FFmpeg\" title=\"Profiling 64-bit code using FFmpeg\" width=\"286\" height=\"256\" class=\"aligncenter size-full wp-image-1356\" \/><br \/>\n<\/center><\/p>\n<p>For this test, I didn&#8217;t specify any compiler optimizations from the command line. Let me know if that should change for the next round. &#8220;gcc-svn&#8221; is a little more up to date at gcc 4.4.0-svn, revision 144720, built on 2009-03-08.<\/p>\n<p><strong>Lingering TODO:<\/strong> Investigate if <a href=\"http:\/\/www.coyotegulch.com\/products\/acovea\/\">Acovea<\/a> can help in this process.<\/p>\n<p><strong>See Also:<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/multimedia.cx\/eggs\/64-bit-gcc-icc-performance-round\/\">Next smackdown in the series<\/a><\/li>\n<li><a href=\"http:\/\/multimedia.cx\/eggs\/icc-vs-gcc-smackdown-round-3\/\">Previous smackdown in the series<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The latest smackdown profiles H.264\/AAC performance as on 32-bit builds as well as 64-bit builds<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[116,122,174],"class_list":["post-1352","post","type-post","status-publish","format-standard","hentry","category-general","tag-gcc","tag-icc","tag-performance"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/1352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=1352"}],"version-history":[{"count":14,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/1352\/revisions"}],"predecessor-version":[{"id":2126,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/1352\/revisions\/2126"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=1352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=1352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=1352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}