Skip to main content

Topic: FLAC x64 build (Read 16120 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • viktor
  • [*][*][*][*]
FLAC x64 build
I saw a benchmark on Phoronix regarding FLAC performance:



So I became curious about it on Windows. The results? A bit disappointing, only about 3-5% increase in performance, probably because of the lack of _asm on x64. If the x86 build is compiled without using NASM, it gets about 10% slower. At least on my AMD Fusion A6-3500. Either way, here it is for your convenience!

Download:
  • Last Edit: 04 November, 2011, 05:22:13 PM by viktor

  • viktor
  • [*][*][*][*]
FLAC x64 build
Reply #1
results for my reference, possibly more to come soon:

- MSVC x86: 68s
- MSVC x86 NASM: 60s
- MSVC x64: 57s

- MINGW x86: 70s
- MINGW x64: 57s
  • Last Edit: 04 November, 2011, 05:44:02 PM by viktor

  • forart.eu
  • [*][*]
FLAC x64 build
Reply #2
results for my reference, possibly more to come soon:

- MSVC x86: 68s
- MSVC x86 NASM: 60s
- MSVC x64: 57s

- MINGW x86: 70s
- MINGW x64: 57s

Cool !

...and where's binaries ?

  • john33
  • [*][*][*][*][*]
  • Developer
FLAC x64 build
Reply #3
I also did some testing with an ICL 12.1 x64 compile and came to much the same conclusion. I can make it available if anyone is interested, but the gains aren't worth shouting about.
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/

  • viktor
  • [*][*][*][*]
FLAC x64 build
Reply #4
Cool !

...and where's binaries ?


"Download:" in first post.

  • exx
  • [*]
FLAC x64 build
Reply #5
Using a 2500k @ 4.2 ghz
Tested against the FLAC version bundled with db Poweramp. x64 is perhaps 1-2 seconds faster per album. Within margin of error, imo. Reading from a hard drive, writing to a RAM disk. FLACCL is still 4x faster with a GTX470.

  • forart.eu
  • [*][*]
FLAC x64 build
Reply #6
Dunno if this can help, but i recently had a talk with Eric Gur (Processor Client Application Engineer @ Intel Corp.) about MT libraries, here's his answer:

Quote
For threading I recommend using Intel's free TBB library. It's very fast, cross platform, simple to use and has an important feature - malloc replacement.
I used it in a previous project - 1M lines of code, multithreaded application on Linux x64. Just the malloc replament boosted performance by 3x without changing any code (1 line in the makefile).

Dunno if can help, but could be really interesting !

Quote from:  link=msg=779491 date=0
Using a 2500k @ 4.2 ghz

OT: Same here, what about 4.2 oc settings ?
  • Last Edit: 27 December, 2011, 08:43:53 AM by db1989

  • lamedude
  • [*]
FLAC x64 build
Reply #7
Thanks for the tip.  How to do it is at section 10.2 on page 63.
Can flac.exe show how long it takes or are you using another program to measure speed?

  • Isayama
  • [*]
FLAC x64 build
Reply #8
I can make it available if anyone is interested


I'd like to test your compile John, is it possible to make it available on RW (I found there your ICL 11.1 32 bit compile) or send it directly here? Is it optimized for any kind of processor instruction set (SSE2, SSE3...), or otherwise how can I get info on how to do it (I run an Intel Core 2 Duo)? I'll give a try at forart.eu and lamedude method (thanks for the link to the tutorial)

Same question than lamedude: is there any community preferred tool for measuring flac encoding/decoding speed, or we should just use CLI/foobar's log info?

Many thanks.

Reasons for edit: typos and grammar
  • Last Edit: 18 February, 2012, 12:13:17 PM by Isayama

  • lvqcl
  • [*][*][*][*][*]
  • Developer
FLAC x64 build
Reply #9

  • Martel
  • [*][*][*][*][*]
FLAC x64 build
Reply #10
Quote
For threading I recommend using Intel's free TBB library. It's very fast, cross platform, simple to use and has an important feature - malloc replacement.
I used it in a previous project - 1M lines of code, multithreaded application on Linux x64. Just the malloc replament boosted performance by 3x without changing any code (1 line in the makefile).

Malloc replacement in a multi-threaded application is only going to help in case all the threads are doing mallocs/frees repeatedly/in parallel (the normal heap is a serialization/choke point). I'm not sure why an encoder would need to do that when it could have most of the buffers "static" (malloc'd upon startup, freed upon exit).

It's great for server code with lots of messaging and modeled dynamic data types.
IE4 Rockbox Clip+ AAC@192; HD 668B/HD 518 Xonar DX FB2k FLAC;

  • GeorgeFP
  • [*][*]
FLAC x64 build
Reply #11
For a x64 multicore FLAC encoder, see here: http://www.hydrogenaudio.org/forums/index....showtopic=76193

FLAC x64 build
Reply #12
For a x64 multicore FLAC encoder, see here: http://www.hydrogenaudio.org/forums/index....showtopic=76193


Where can I download this?  The links I saw on the first post are dead.  Thanks.
Kittens give Morbo gas.

  • GeorgeFP
  • [*][*]
FLAC x64 build
Reply #13

  • antman
  • [*][*][*]
FLAC x64 build
Reply #14
I also did some testing with an ICL 12.1 x64 compile and came to much the same conclusion. I can make it available if anyone is interested, but the gains aren't worth shouting about.


I'd like a copy.  I don't see slight gains as being a reason not to use it.

  • denastig31
  • [*]
FLAC x64 build
Reply #15
Hi, my question is not consirned with FLAC x64 build but i guess you guys might help me.

I have a flac source code v1.2.1
I am trying to build the libflac library static for C using VS2010
can i build the library without the the support of OGG and NASM?

what are the steps?

Thank you
-denver

  • john33
  • [*][*][*][*][*]
  • Developer
FLAC x64 build
Reply #16
Hi, my question is not consirned with FLAC x64 build but i guess you guys might help me.

I have a flac source code v1.2.1
I am trying to build the libflac library static for C using VS2010
can i build the library without the the support of OGG and NASM?

what are the steps?

Thank you
-denver

From memory, remove 'FLAC__HAS_OGG' and change 'FLAC__HAS_NASM' to 'FLAC__NO_ASM'.

HTH
John
----------------------------------------------------------------
My compiles and utilities are at http://www.rarewares.org/