{"id":1427,"date":"2009-05-04T22:38:32","date_gmt":"2009-05-05T05:38:32","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/?p=1427"},"modified":"2010-01-24T10:00:49","modified_gmt":"2010-01-24T18:00:49","slug":"last-performance-smackdown-for-awhile","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/last-performance-smackdown-for-awhile\/","title":{"rendered":"Last Performance Smackdown For Awhile"},"content":{"rendered":"<p>This is getting arduous. I think this will be my last performance smackdown for awhile. First off, I put the latest in the icc 10.1 series &#8212; 10.1.022 &#8212; into <a href=\"http:\/\/fate.multimedia.cx\/\">FATE<\/a> for both x86_32 and x86_64. It seems to work quite well with the 32-bit version having a little trouble with the regression suite; 64-bit version passes all of our tests.<\/p>\n<p>For this test, I decided to use a much shorter video. The file in question has ~10700 frames of MPEG-4 part 2 video at 704&#215;400, along with MP3 audio. The x86_32 performance trend shapes up precisely as we have seen in previous tests, and with a file that takes 1\/10 the time to decode. <a href=\"http:\/\/ffmpeg.org\/\">FFmpeg<\/a> SVN revision is 18737.<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/05\/32-bit-performance-2009-05-04.png\" alt=\"32-bit performance comparison, 2009-05-04\" title=\"32-bit performance comparison, 2009-05-04\" width=\"501\" height=\"253\" class=\"aligncenter size-full wp-image-1426\" srcset=\"https:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/05\/32-bit-performance-2009-05-04.png 501w, https:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/05\/32-bit-performance-2009-05-04-300x151.png 300w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><br \/>\n<\/center><\/p>\n<p>As usual, all handcrafted ASM optimizations are disabled. The x86_32 configurations were built with &#8211;march\/&#8211;cpu equal to core2 where available, else pentium4 where available.<\/p>\n<p>Here is the 64-bit chart. It must be noted that FFmpeg compiled with 11.0.083 did not decode the file correctly.<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/05\/64-bit-performance-2009-05-04.png\" alt=\"64-bit performance comparison, 2009-05-04\" title=\"64-bit performance comparison, 2009-05-04\" width=\"454\" height=\"252\" class=\"aligncenter size-full wp-image-1428\" srcset=\"https:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/05\/64-bit-performance-2009-05-04.png 454w, https:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2009\/05\/64-bit-performance-2009-05-04-300x166.png 300w\" sizes=\"auto, (max-width: 454px) 100vw, 454px\" \/><br \/>\n<\/center><\/p>\n<p><strong>Update:<\/strong> I finally got the dark horse contender &#8212; <a href=\"http:\/\/llvm.org\/\">LLVM<\/a> &#8212; to compile at SVN 70961 for x86_64. Out of 2 runs with this same file, it posts a best time of 33.6 seconds.<\/p>\n<p>The differences look severe, but they are actually within a few seconds of each other. And notice that all 64-bit configurations are demonstrably speedier than all 32-bit configurations.<\/p>\n<p>Somehow, it&#8217;s only now as I prepare to publish this entry that I realize something amiss&#8211; how did my current gcc-svn build manage to build FFmpeg when FATE can&#8217;t do the same? It must be the configure options.<\/p>\n<p><strong>See Also:<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/multimedia.cx\/eggs\/compiler-smackdown-2010-1-64-bit\/\">Next smackdown in the series<\/a><\/li>\n<li><a href=\"http:\/\/multimedia.cx\/eggs\/performance-smackdown-powerpc\/\">Previous smackdown in the series<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This is likely to be the last performance smackdown for awhile, at least until I revise the process to scale better for a growing number of compilers<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101],"tags":[],"class_list":["post-1427","post","type-post","status-publish","format-standard","hentry","category-fate-server"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/1427","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=1427"}],"version-history":[{"count":11,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/1427\/revisions"}],"predecessor-version":[{"id":2117,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/1427\/revisions\/2117"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=1427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=1427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=1427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}