Skip to main content
Topic: FLAC x64 build (Read 17771 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

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:

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

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 ?
Forward Agency NPO

In progress we (always) trust.

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/


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.

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 author= link=msg=779491 date=0]Using a 2500k @ 4.2 ghz[/quote]
OT: Same here, what about 4.2 oc settings ?
Forward Agency NPO

In progress we (always) trust.


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

 

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.




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.

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

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/

 
SimplePortal 1.0.0 RC1 © 2008-2019