[prev in list] [next in list] [prev in thread] [next in thread] 

List:       flac-dev
Subject:    Re: [flac-dev] Performance checks
From:       Janne Hyvärinen <cse () sci ! fi>
Date:       2013-06-03 17:20:49
Message-ID: 51ACD071.2070407 () sci ! fi
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


On 3.6.2013 14:24, Miroslav Lichvar wrote:
> On Sat, Jun 01, 2013 at 02:33:55PM +0300, Janne Hyvärinen wrote:
>> On 1.6.2013 14:24, Janne Hyvärinen wrote:
>>> I can confirm. I see 10% speed improvement with that change on Core i7.
>>> Decoding a 1h18min38.133s long test FLAC -8 encoded file takes with
>>> normal asm optimizations 7.656s (speed: 616,266x realtime) and with 
>>> that
>>> tiny change 6.937s (speed: 680,140x realtime).
> Thanks for the testing.
>
>> I noticed a side effect for this change. Encoding got a bit slower at
>> least when md5 checksumming is enabled.
> That's odd. How much slower was the encoding? Could it be caused by
> increase in the size of the function (only with -funroll-loops?) and
> not fitting in the cache during encoding?
>
> It might be good to use -funroll-loops only with some files, IIRC it
> helped most to stream_encoder.c.
>

I neglected to mention that the testing was done with MSVC 2012 and on 
Windows.
I did some futher testing after your mail and noticed that with GCC the 
encoding speed is unaffected. Decoding speed increase is not as big as 
with MSVC, only 7% improvement with it.

With MSVC the drop in encoding speed with my test file is 0.4%.

Other perhaps interesting speed results:
MSVC compile with unaltered sources is 1.9% faster than GCC at encoding.
GCC decoding is 8% faster than MSVC before the modification and 5.6% 
after the modification.
These results are without changing any compiling options on either compiler.


[Attachment #5 (text/html)]

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-text-flowed" style="font-family: -moz-fixed;
      font-size: 14px;" lang="x-western">On 3.6.2013 14:24, Miroslav
      Lichvar wrote:
      <br>
      <blockquote type="cite" style="color: #000000;">On Sat, Jun 01,
        2013 at 02:33:55PM +0300, Janne Hyvärinen wrote:
        <br>
        <blockquote type="cite" style="color: #000000;">On 1.6.2013
          14:24, Janne Hyvärinen wrote:
          <br>
          <blockquote type="cite" style="color: #000000;">I can confirm.
            I see 10% speed improvement with that change on Core i7.
            <br>
            Decoding a 1h18min38.133s long test FLAC -8 encoded file
            takes with
            <br>
            normal asm optimizations 7.656s (speed: 616,266x realtime)
            and with that
            <br>
            tiny change 6.937s (speed: 680,140x realtime).
            <br>
          </blockquote>
        </blockquote>
        Thanks for the testing.
        <br>
        <br>
        <blockquote type="cite" style="color: #000000;">I noticed a side
          effect for this change. Encoding got a bit slower at
          <br>
          least when md5 checksumming is enabled.
          <br>
        </blockquote>
        That's odd. How much slower was the encoding? Could it be caused
        by
        <br>
        increase in the size of the function (only with -funroll-loops?)
        and
        <br>
        not fitting in the cache during encoding?
        <br>
        <br>
        It might be good to use -funroll-loops only with some files,
        IIRC it
        <br>
        helped most to stream_encoder.c.
        <br>
        <br>
      </blockquote>
      <br>
      I neglected to mention that the testing was done with MSVC 2012
      and on Windows.
      <br>
      I did some futher testing after your mail and noticed that with
      GCC the encoding speed is unaffected. Decoding speed increase is
      not as big as with MSVC, only 7% improvement with it.
      <br>
      <br>
      With MSVC the drop in encoding speed with my test file is 0.4%.
      <br>
      <br>
      Other perhaps interesting speed results:
      <br>
      MSVC compile with unaltered sources is 1.9% faster than GCC at
      encoding.
      <br>
      GCC decoding is 8% faster than MSVC before the modification and
      5.6% after the modification.
      <br>
      These results are without changing any compiling options on either
      compiler.<br>
      <br>
    </div>
  </body>
</html>


_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic