IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
FLAC x64 build, 64 bit build of flac.exe
viktor
post Nov 4 2011, 21:34
Post #1





Group: Members
Posts: 298
Joined: 17-November 06
Member No.: 37682



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:
  1. Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
  2. FLAC 1.2.1 x64


This post has been edited by viktor: Nov 4 2011, 22:22
Go to the top of the page
+Quote Post
viktor
post Nov 4 2011, 21:55
Post #2





Group: Members
Posts: 298
Joined: 17-November 06
Member No.: 37682



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

This post has been edited by viktor: Nov 4 2011, 22:44
Go to the top of the page
+Quote Post
forart.eu
post Dec 1 2011, 16:23
Post #3





Group: Members
Posts: 74
Joined: 10-December 09
From: italy
Member No.: 75798



QUOTE (viktor @ Nov 4 2011, 21:55) *
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 ?
Go to the top of the page
+Quote Post
john33
post Dec 1 2011, 17:18
Post #4


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3761
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



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/
Go to the top of the page
+Quote Post
viktor
post Dec 1 2011, 18:13
Post #5





Group: Members
Posts: 298
Joined: 17-November 06
Member No.: 37682



QUOTE (forart.eu @ Dec 1 2011, 16:23) *
Cool !

...and where's binaries ?


"Download:" in first post.
Go to the top of the page
+Quote Post
exx
post Dec 19 2011, 00:24
Post #6





Group: Members
Posts: 3
Joined: 9-October 11
Member No.: 94241



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.
Go to the top of the page
+Quote Post
forart.eu
post Dec 27 2011, 13:08
Post #7





Group: Members
Posts: 74
Joined: 10-December 09
From: italy
Member No.: 75798



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 ( @ Dec 19 2011, 00:24) *
Using a 2500k @ 4.2 ghz

OT: Same here, what about 4.2 oc settings ?

This post has been edited by db1989: Dec 27 2011, 14:43
Reason for edit: merging posts; please edit instead
Go to the top of the page
+Quote Post
lamedude
post Jan 2 2012, 08:00
Post #8





Group: Members
Posts: 16
Joined: 2-January 12
Member No.: 96171



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?
Go to the top of the page
+Quote Post
Isayama
post Feb 18 2012, 18:10
Post #9





Group: Members
Posts: 10
Joined: 5-February 12
Member No.: 96948



QUOTE (john33 @ Dec 1 2011, 17:18) *
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

This post has been edited by Isayama: Feb 18 2012, 18:13
Go to the top of the page
+Quote Post
lvqcl
post Feb 18 2012, 18:32
Post #10





Group: Developer
Posts: 3435
Joined: 2-December 07
Member No.: 49183



I use timer.exe from 7-Benchmark: http://sourceforge.net/projects/sevenmax/files/7-Benchmark/
Go to the top of the page
+Quote Post
Martel
post Feb 19 2012, 10:37
Post #11





Group: Members
Posts: 554
Joined: 31-May 04
From: Czech Rep.
Member No.: 14430



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;
Go to the top of the page
+Quote Post
GeorgeFP
post Feb 19 2012, 11:06
Post #12





Group: Members
Posts: 81
Joined: 2-August 09
Member No.: 71959



For a x64 multicore FLAC encoder, see here: http://www.hydrogenaudio.org/forums/index....showtopic=76193
Go to the top of the page
+Quote Post
kalen3285
post Feb 19 2012, 16:47
Post #13





Group: Members
Posts: 30
Joined: 8-March 04
From: US
Member No.: 12563



QUOTE (GeorgeFP @ Feb 19 2012, 05:06) *
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.
Go to the top of the page
+Quote Post
GeorgeFP
post Feb 19 2012, 17:49
Post #14





Group: Members
Posts: 81
Joined: 2-August 09
Member No.: 71959



The download link is http://www.thinkmeta.de/download/fpStream_1_0_0_23.7z
Go to the top of the page
+Quote Post
antman
post Mar 29 2012, 01:12
Post #15





Group: Members
Posts: 103
Joined: 3-January 07
From: Texas
Member No.: 39241



QUOTE (john33 @ Dec 1 2011, 10:18) *
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.
Go to the top of the page
+Quote Post
denastig31
post Jan 12 2013, 04:05
Post #16





Group: Members
Posts: 2
Joined: 4-January 13
Member No.: 105576



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
Go to the top of the page
+Quote Post
john33
post Jan 12 2013, 16:33
Post #17


xcLame and OggDropXPd Developer


Group: Developer
Posts: 3761
Joined: 30-September 01
From: Bracknell, UK
Member No.: 111



QUOTE (denastig31 @ Jan 12 2013, 03:05) *
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/
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 23rd November 2014 - 13:14