Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: FLAC 1.3.0 has been released (Read 193891 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

FLAC 1.3.0 has been released

Reply #125
Two systems, both Win7 64. 7bench timer, --best, global time (seconds).

Code: [Select]
Intel i5-750
------------
flacA        43.339
flacB        36.779
flacC        40.015
flacD        33.449

1.3.0-icl    74.049
git-3194829    44.244
git-7251201    38.931


AMD X2 4000+
------------
flacA        135.314
flacB        113.209
flacC        134.394
flacD        112.054

1.3.0-icl    139.167
git-3194829    131.929
git-7251201    129.526


(Earlier I said there was no improvement with the first git encoder on AMD. Sorry, I was testing in a different way, so the difference wasn't evident.)

FLAC 1.3.0 has been released

Reply #126
Intel i7 4970K, Windows 8.1 x64

Code: [Select]
exe       Global time (s)     xRealtime
---------------------------------------
1.3.0     6.701              100.134
A         4.148              161.764
B         3.580              187.430
C         3.996              167.918
D         3.430              195.627

FLAC 1.3.0 has been released

Reply #127
i7 3770K

Code: [Select]
flacA                                    21.56 s  128.10x
flacB                                    18.38 s  150.27x
flacC                                    19.88 s  138.93x
flacD                                    16.58 s  166.58x

flac 1.3.0 x64 Rarewares ICL13           36.79 s   75.07x
flac-git-7251201-win64 (AiZ, post #106)  19.81 s  139.49x


P.S. oops, compression level 8

FLAC 1.3.0 has been released

Reply #128
Thank you all.

So, flac_D is ~20% faster than flac_C on Core i and Athlon X2. But on Core2  it's 4% slower.

Anyone with Bulldozer/Piledriver?

FLAC 1.3.0 has been released

Reply #129
c2d e6850, flac -8

flac 1.3.0 8.159
flacA 6.398
flacB 6.014
flacC 5.936
flacD 6.017

FLAC 1.3.0 has been released

Reply #130
Congratulations, these are quite dramatic speed improvements over v1.2.1. Is there a chance you could add additional compression levels, i.e. like FLACCL which offers additional compression up to level 11? Now that would be terrific.

FLAC 1.3.0 has been released

Reply #131
These are are quite impressive speed improvements!

I think it would be interesting to see if there are known compression improvements that were previously ruled out because of their detrimental effect on speed. If some of the current speed improvements could be traded against some compression improvements you'd have the best of both worlds. 1.3.1 would still be quicker than 1.3.0 but also compress better.
Every night with my star friends / We eat caviar and drink champagne
Sniffing in the VIP area / We talk about Frank Sinatra
Do you know Frank Sinatra? / He's dead

FLAC 1.3.0 has been released

Reply #132
>Anyone with Bulldozer/Piledriver?
Yes - AMD A6-6400K

===  flacA -8 -f test.wav  ===
Execution time: 3.972 s /  95.9x

===  flacB -8 -f test.wav  ===
Execution time: 3.641 s / 101.4x

===  flacC -8 -f test.wav  ===
Execution time: 3.756 s /  98.2x

===  flacD -8 -f test.wav  ===
Execution time: 3.449 s / 107.0x

===  flac (Rarewares ICL 32bit) -8 -f test.wav  ===
Execution time: 6.988 s /  52.8x

FLAC 1.3.0 has been released

Reply #133
Since the results for core2 were different than the rest, I decided to test on mine:

Mobile Core 2 Duo 1.5GHz (T5250). 667MHz DDR2 , Windows 7 x64.

Measured with measure-command of windows powershell
Code: [Select]
CD image length 1:13:50   (4430 sec),   flac -8 -f file.wav

flaca TotalSeconds      : 153,9725606 28.771x
flacb TotalSeconds      : 152,377362 29.072x
flacc TotalSeconds      : 153,347153 28.888x
flacd TotalSeconds      : 152,9806216 28.958x

flac 1.2.1 TotalSeconds      : 197,4928717 22.431x

Not sure if this will make it better or worse for the decision.

FLAC 1.3.0 has been released

Reply #134
Quote
I try to increase encoding speed slightly further. Please test the attached versions (with 16-bit input files).
Also please write your CPU model name (e.g.: Intel Core i7-950).

lvqcl, please, can you compile and upload 64-bit test executables?

FLAC 1.3.0 has been released

Reply #135
Anyone with Bulldozer/Piledriver?


FX-8350, SSD > SSD, Album duration 56:06.733:

FLAC 1.3.0
52.21, 52.15, 52.09, 52.54, 52.18: 52.23 seconds, 64.46x.

FLACA
31.26, 31.31, 31.11, 31.09, 31.32: 31.21 seconds, 107.87x.

FLACB
29.14, 28.68, 29.06, 28.98, 29.00: 28.97 seconds, 116.21x.

FLACC
29.75, 29.92, 29.86, 30.00, 29.88: 29.88 seconds, 112.68x.

FLACD
27.65, 27.62, 27.55, 27.60, 27.59: 27.60 seconds, 121.98x.

FLAC 1.3.0 has been released

Reply #136
There are speed improvements for decoding too. Post #93

Decoding speed is four times more faster than encoding (-8) but speed optimization make sense there too as in case like FLAC to FLAC, FLAC to MP3 or similar encoding.

Some results for decoding of  FLAC -8 files:
i7 3770k

flac 1.3.0 x64 Rarewares ICL13 - 516.25x
flacD - 643.81x
flac-git-7251201-win64 (AiZ, post #106) - 673.64x

FLAC 1.3.0 has been released

Reply #137
Thanks all!

FLAC 1.3.0 has been released

Reply #138
They should show the same behavior (if 32-bit flac_D is fastest then 64-bit flac_D will be faster among other 64-bit versions). But... here they are.


FX-8350, SSD > SSD, Album length 56:06.733:

FLAC64_a
28.50, 27.89, 27.68, 27.58, 27.62, 27.85 seconds, 120,89x.

FLAC64_b
24.90, 26.03, 25.07, 25.09, 24.99, 25.02 seconds, 134.56x.

FLAC64_c
26.47, 26.24, 26.13, 26.34, 26.40, 26.32 seconds, 127.92x.

FLAC64_d
23.79, 23.73, 23.67, 23.77, 23.73, 23.74 seconds, 141.82x.

FLAC 1.3.0 has been released

Reply #139
Intel Pentium G2130, 4GB RAM, Intel 330 SSD, Windows 7 64bit

44.1KHz/16bit stereo .wav file. Length: 1:11:17

Code: [Select]
Exec.       Time(s) Speed x realtime
====================================
flacA       40.2    106.4x
flacB       34.2    125.1x
flacC       36.7    116.5x
flacD       30.8    138.9x
flac64_a    37      115.6x
flac64_b    31.2    137.1x
flac64_c    34.2    125.1x
flac64_d    28.8    148.5x

FLAC 1.3.0 has been released

Reply #140
AMD Phenom II X4 970, level8, single thread in foobar.
Code: [Select]
==== 32-bit ====
flacA  87x
flacB 102x
flacC  87x
flacD 106x

==== 64-bit ====
flacA  93x
flacB 113x
flacC  94x
flacD 114x

For reference, libflac 1.2.1 at same settings = 55x
How do you guys take your measurements? I just picked the average of the values foobar showed while encoding.

FLAC 1.3.0 has been released

Reply #141
How do you guys take your measurements? I just picked the average of the values foobar showed while encoding.


I use http://www.gammadyne.com/cmdline.htm#timer and a very simple batch file

Code: [Select]
timer
flac.exe -8 -f file.wav
timer /s


The timer executable outputs the total time taken for the commands between the two times its called. Divide the source wave time with the running time and you get the speed multiplier. I repeat the process 2 or 3 times until encoding times are stabilized (primed CPU caches etc) for each executable. I keep the batch file open in notepad+ and change which executable I want to run quickly.


FLAC 1.3.0 has been released

Reply #143
Intel Q9400 @3.2Ghz
comp. level 8
same sample

86.67x flac64A
87.11x flac64B
90.48x flac64C
87.59x flac64D

FLAC 1.3.0 has been released

Reply #144
Ok, here is what it looks like when timed with timer64 (took 3 attempts -> averaged). File is 7:35,293 -> 455,293 seconds. AMD Phenom II X4 970, as above.
Code: [Select]
32bit:
flac 1.2.1 9,094s    50,1x
flacA      5,504s    82,7x
flacB      4,543s   100,2x
flacC      5,526s    82,4x
flacD      4,557s    99,9x

64bit:
flacA      5,054s    90,1x
flacB      4,150s   109,7x
flacC      5,064s    89,9x
flacD      4,154s   109,6x

I'm liking build B, though build D is only marginally slower. I also ran a comparison on a folder containing 5:54:53 of music between flac 1.2.1, flacD and flaccl (nVidia 260GTX), running them at 4 threads via foobar
Code: [Select]
flac 1.2.1 2:15    157,7x
flaccl     1:18    272,9x
flacD x64  1:10    304,2x

That's.... impressive!
Now if only we could cut some of that speed and make it compress as good as TAK does...

edit: formatting


 

FLAC 1.3.0 has been released

Reply #146
Speaking of measurement errors... I noticed with the 7bench timer it's better to look at process time instead of global time, since the latter is much more affected by other processes running on the computer at the same time. At least on my old system (AMD X2 4000+) it can skew the results, even if I leave it alone when running.

And I confirm an overall improvement with the 64bit builds.

FLAC 1.3.0 has been released

Reply #147
Interesting. Benching same file with same settings today takes me half a second longer. Have repeated it a few times now, so not a caching issue.
For me, process time and global time seem to keep the hierarchy. But I'm not doing anything except playing music while benching, so I guess I have nothing to influence the times.

Also, the values fluctuate between D being faster:
Code: [Select]
64bit:
flacA       5,478s    83,1x
flacB       4,515s   100,8x
flacC       5,447s    83,6x
flacD       4,395s   103,6x


and them being nearly same speed:
Code: [Select]
64bit:
flacB       4,546s   100,1x
flacD       4,536s   100,3x

FLAC 1.3.0 has been released

Reply #148
Speaking of measurement errors... I noticed with the 7bench timer it's better to look at process time instead of global time

Good point. In *nix environments, there's the time command for this purpose (i.e., you can run something like "time ./a.out").

I googled for a Windows equivalent. It seems there isn't one. A few people on stackoverflow and such suggested using a command that's only available in the powershell (which i don't have on my system.)

FLAC 1.3.0 has been released

Reply #149
Code: [Select]
i7 4930K, Windows 8.1 x64

Encoder        Global time (s)    xRealtime
--------------------------------------------
v1.2.1 x32     7.403              100.346

Flac_A x32     4.156              177.333
Flac_B x32     3.590              205.292
Flac_C x32     3.893              189.314
Flac_D x32     3.226              228.456

Flac_A x64     3.830              192.428
Flac_B x64     3.320              221.987
Flac_C x64     3.556              207.255
Flac_D x64     3.040              242.434