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: TAK 2.3.0 beta (Read 31117 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

TAK 2.3.0 beta

Beta releases of TAK 2.3.0 ((T)om's lossless (A)udio (K)ompressor)

It consists of:

- TAK Applications 2.3.0 Beta 2 in "\Applications".
- TAK Winamp plugin 2.3.0 Beta 2 in "\WinAmp".
- TAK Decoding library 2.3.0 Beta 2 in "\Deco_Lib".

The final release will additionally contain the SDK.

Download link removed. TAK 2.3.0 Final has been released.

Beta 2 - What's new

This release brings some new features requested by the author of caudec.

Improvements:

- Clean up of some code. As a side effect decoding is about 0.5 percent faster on my test system...

New features:

- Two new file info modes -fim4/5 which output one line of raw data per file.
- New mode switch -version to display the program version.

Known issues:

- If you use pipe decoding and the application reading the pipe is beeing terminated before the whole file has been read, TAKC may get into an endless loop and has to be manually killed with the task manager. I don't think this is a big issue but i will try to fix it in one of the next versions. BTW: Big thanks to shnutils for testing the pipe decoding!
- There seem to be some compatibility issues with pipe decoding to some other applications ("crc1632.exe" has been reported). I will try to fix it in the next release.

Beta 1 - What's new

This release brings significant speed optimizations for encoder and decoder.

Improvements:

- Encoding speed improvements between 5 and 44 percent for my primary file set. The faster presets benefit most. Only the compression performance of preset -p0e has changed. It's now performing about 0.03 percent worse on my primary file set. I modified the preset to make it faster, because -p0e and -p0m got to close after the speed optimizations.
- Decoding speed improvements between 14 and 29 percent for my primary file set. The faster presets benefit most.

Fixes:

Many thanks to Justin Ruggles for reporting this bug! The old decoder would deliver a corrupted frame under these extremely rare conditions:
  • The samples are signed and the bit depth isn't higher than 16.
  • The frame contains at least 16 samples per channel.
  • The frame only contains samples with the maximum negative value (-32768 for 16 bit samples) or value 0.
  • The first sample in the frame has the maximum negative value.

Since a frame usually consists of thousands of samples and samples of maximum negative value usually mean clipping, it's extremely unlikely to encounter such data in real life. The probability is higher for the last frame, which can be quite small. But usually the very last samples of a song don't represent only negative clips.

Beta testing

This beta release has already gone through extensive testing performed by my automatic scripts. Nevertheless there may be bugs left. Therefore i would like you to verify the proper function of the codec: Compress -> Decompress -> Compare resulting wave with the original file, either by a binary compare or by the use MD5-check sums.

Certainly i am very interested into efficiency comparisons. The speed of the final release may vary in the range of about +/- 1 percent, simply because i remove the "beta" from the program name and this alters the code alignment.

Thanks for testing and have fun

Thomas

TAK 2.3.0 beta

Reply #1
Here the results for my primary file set (Beta 1).

Test system: Pentium Dual Core E5200 (2.5 GHz), Windows 7.

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed             
---------------------------------------------------------------------------------                            
        2.2.0   2.3.0    Win    2.2.0    2.3.0    Win %   2.2.0    2.3.0    Win %
---------------------------------------------------------------------------------                            
-p0     58.75   58.75    0.00   390.13   470.39   20.57   389.82   504.20   29.34
-p0e    58.30   58.33   -0.03   239.84   347.75   44.99   390.32   505.09   29.40
-p0m    58.22   58.22    0.00   133.99   192.26   43.49   391.08   506.18   29.43
-p1     57.84   57.84    0.00   312.56   370.83   18.64   386.80   479.58   23.99
-p1e    57.52   57.52    0.00   198.91   218.14    9.67   387.12   480.22   24.05
-p1m    57.42   57.42    0.00   105.05   137.41   30.80   388.84   481.97   23.95
-p2     56.90   56.90    0.00   233.32   259.75   11.33   356.84   427.11   19.69
-p2e    56.70   56.70    0.00   132.38   140.89    6.43   354.78   424.13   19.55
-p2m    56.59   56.59    0.00    65.64    76.61   16.71   356.87   426.11   19.40
-p3     56.36   56.36    0.00   115.94   122.35    5.53   331.84   387.62   16.81
-p3e    56.27   56.27    0.00    80.43    97.19   20.84   332.10   387.49   16.68
-p3m    56.20   56.20    0.00    43.93    48.49   10.38   331.16   386.43   16.69
-p4     56.03   56.03    0.00    63.65    73.15   14.93   302.79   346.96   14.59
-p4e    55.94   55.94    0.00    55.21    62.28   12.81   302.37   346.87   14.72
-p4m    55.89   55.89    0.00    28.09    29.96    6.66   301.86   346.67   14.84
---------------------------------------------------------------------------------

Compression in percent relative to the original file size. Speed as multiple of realtime playback.

TAK 2.3.0 beta

Reply #2
Intel i7-3770 | DDRIII-1333 | ImDisk VDD | Windows 8

TAKC -e -pXX  -tn4 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn4 -cpuSSSE3 pXX.tak test_pXX.wav

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed
---------------------------------------------------------------------------------
        2,2,0   2,3,0    Win    2,2,0    2,3,0    Win %   2,2,0    2,3,0    Win %
---------------------------------------------------------------------------------
-p0     77,29   77,29    0,00   1686,54  1733,10   2,76    487,38   634,63  30,21
-p0e    77,03   77,09   -0,06   1199,45  1673,03  39,48    485,70   633,01  30,33
-p0m    76,99   76,99    0,00    667,74   976,43  46,23    486,07   632,22  30,07
-p1     75,60   75,60    0,00   1480,98  1678,03  13,31    476,13   587,16  23,32
-p1e    75,46   75,46    0,00   1043,34  1127,30   8,05    470,07   591,72  25,88
-p1m    75,37   75,37    0,00    546,91   723,70  32,33    475,20   606,67  27,67
-p2     75,33   75,33    0,00   1174,15  1292,74  10,10    463,88   553,88  19,40
-p2e    75,25   75,25    0,00    718,44   760,22   5,82    459,40   561,28  22,18
-p2m    75,13   75,13    0,00    350,16   423,08  20,82    466,10   559,61  20,06
-p3     75,17   75,17    0,00    667,01   702,78   5,36    457,03   538,50  17,83
-p3e    75,12   75,12    0,00    453,14   546,27  20,55    461,36   541,51  17,37
-p3m    75,06   75,06    0,00    254,18   289,82  14,02    456,05   540,87  18,60
-p4     75,13   75,13    0,00    383,63   464,90  21,18    429,50   481,70  12,15
-p4e    75,09   75,09    0,00    332,57   371,34  11,66    439,03   505,59  15,16
-p4m    75,00   75,00    0,00    166,11   179,60   8,12    439,97   513,44  16,70
---------------------------------------------------------------------------------

TAK 2.3.0 beta

Reply #3
My eternal gratitude goes to you, Tom. You are amazing!

TAK 2.3.0 beta

Reply #4
Wow, that was really fast! Thank you!

I am really glad to see my results confirmed by someone else.

On the encoding side the speed advantage seems to be smaller with 4 threads, at least for the faster presets. Possibly i will be able to tune the the mutlithreading code, but it's also possible, that memory speed sets a limit.

TAK 2.3.0 beta

Reply #5
On the encoding side the speed advantage seems to be smaller with 4 threads, at least for the faster presets. Possibly i will be able to tune the the mutlithreading code, but it's also possible, that memory speed sets a limit.

I tried to be fast too with my response... and did miss something.

Now that you have updated your comparison in such a convenient way, i can see that the encoding speed advantage for the more demanding presets is even a bit higher than in my single thread comparison. That's very nice.

Again, thank you!


TAK 2.3.0 beta

Reply #6
TAKC -e -pXX -tn3 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn3 -cpuSSSE3 pXX.tak test_pXX.wav

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed
---------------------------------------------------------------------------------
        2,2,0   2,3,0    Win    2,2,0    2,3,0    Win %   2,2,0    2,3,0    Win %
---------------------------------------------------------------------------------
-p0     77,29   77,29    0,00   1464,37  1681,70  14,84    467,39   626,16  33,97
-p0e    77,03   77,09   -0,06    970,26  1319,18  35,96    481,23   620,72  28,99
-p0m    76,99   76,99    0,00    535,42   809,31  51,15    483,34   630,51  30,45
-p1     75,60   75,60    0,00   1233,67  1491,07  20,86    470,22   601,26  27,87
-p1e    75,46   75,46    0,00    843,21   952,24  12,93    470,47   597,28  26,95
-p1m    75,37   75,37    0,00    444,99   606,29  36,25    463,41   599,17  29,30
-p2     75,33   75,33    0,00    976,33  1066,83   9,27    453,61   551,92  21,67
-p2e    75,25   75,25    0,00    598,12   646,74   8,13    456,11   554,63  21,60
-p2m    75,13   75,13    0,00    290,73   350,69  20,62    455,69   553,37  21,44
-p3     75,17   75,17    0,00    537,79   585,03   8,78    446,43   532,71  19,33
-p3e    75,12   75,12    0,00    365,53   474,83  29,90    454,96   526,80  15,79
-p3m    75,06   75,06    0,00    201,90   235,86  16,82    452,19   536,50  18,64
-p4     75,13   75,13    0,00    305,13   384,54  26,02    421,84   490,19  16,20
-p4e    75,09   75,09    0,00    265,27   314,47  18,55    429,36   490,43  14,22
-p4m    75,00   75,00    0,00    129,65   150,30  15,93    412,22   505,41  22,61
---------------------------------------------------------------------------------


TAKC -e -pXX -tn2 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn2 -cpuSSSE3 pXX.tak test_pXX.wav

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed
---------------------------------------------------------------------------------
        2,2,0   2,3,0    Win    2,2,0    2,3,0    Win %   2,2,0    2,3,0    Win %
---------------------------------------------------------------------------------
-p0     77,29   77,29    0,00   1046,80  1270,38  21,36    478,39   620,59  29,72
-p0e    77,03   77,09   -0,06    682,29   986,28  44,55    476,09   620,59  30,35
-p0m    76,99   76,99    0,00    373,71   580,62  55,37    480,55   624,92  30,04
-p1     75,60   75,60    0,00    881,19  1040,06  18,03    467,64   577,00  23,39
-p1e    75,46   75,46    0,00    579,17   660,21  13,99    468,20   598,77  27,89
-p1m    75,37   75,37    0,00    308,79   424,15  37,36    472,04   592,96  25,62
-p2     75,33   75,33    0,00    679,94   765,34  12,56    454,82   551,47  21,25
-p2e    75,25   75,25    0,00    414,80   449,91   8,46    456,51   550,23  20,53
-p2m    75,13   75,13    0,00    204,29   248,60  21,69    457,35   549,64  20,18
-p3     75,17   75,17    0,00    388,80   415,48   6,86    448,05   521,44  16,38
-p3e    75,12   75,12    0,00    262,33   332,67  26,81    451,55   535,30  18,55
-p3m    75,06   75,06    0,00    146,67   167,05  13,90    449,84   539,89  20,02
-p4     75,13   75,13    0,00    222,90   271,15  21,65    422,17   496,93  17,71
-p4e    75,09   75,09    0,00    190,61   226,04  18,59    423,94   502,62  18,56
-p4m    75,00   75,00    0,00     97,36   105,15   8,00    430,64   508,38  18,05
---------------------------------------------------------------------------------


TAKC -e -pXX -tn1 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn1 -cpuSSSE3 pXX.tak test_pXX.wav

Code: [Select]
Preset  Compression %           Enco-Speed                Deco-Speed
---------------------------------------------------------------------------------
        2,2,0   2,3,0    Win    2,2,0    2,3,0    Win %   2,2,0    2,3,0    Win %
---------------------------------------------------------------------------------
-p0     77,29   77,29    0,00    546,77  672,17   22,93    486,02   618,43  27,24
-p0e    77,03   77,09   -0,06    353,72  496,19   40,28    482,01   619,22  28,47
-p0m    76,99   76,99    0,00    191,90  294,19   53,30    477,65   616,84  29,14
-p1     75,60   75,60    0,00    458,48  543,15   18,47    472,35   596,17  26,21
-p1e    75,46   75,46    0,00    311,69  345,88   10,97    470,49   595,80  26,63
-p1m    75,37   75,37    0,00    159,05  221,19   39,07    471,80   588,50  24,74
-p2     75,33   75,33    0,00    360,26  405,36   12,52    458,63   551,70  20,29
-p2e    75,25   75,25    0,00    218,00  232,37    6,59    453,88   553,67  21,99
-p2m    75,13   75,13    0,00    104,83  129,74   23,76    458,34   549,23  19,83
-p3     75,17   75,17    0,00    201,36  215,64    7,09    450,71   532,38  18,12
-p3e    75,12   75,12    0,00    134,31  174,19   29,69    452,26   533,92  18,06
-p3m    75,06   75,06    0,00     76,88   87,87   14,30    456,07   540,32  18,47
-p4     75,13   75,13    0,00    115,56  141,01   22,02    428,81   499,10  16,39
-p4e    75,09   75,09    0,00     97,77  116,84   19,50    433,09   504,36  16,46
-p4m    75,00   75,00    0,00     51,01   55,96    9,70    435,07   504,40  15,94
---------------------------------------------------------------------------------

TAK 2.3.0 beta

Reply #7
Hi TBeck,

Is there a way to have a completed description of tak 2.0+ format header ?

I came across this one but it's only for 1.xx format, not compatible with the current one...

Thanks in advance.


TAK 2.3.0 beta

Reply #8
Is there a way to have a completed description of tak 2.0+ format header ?

Not before i have more time. Sorry. My bad english definitely complicates documentation work.

The best resource for now is "takStream.pas", which is part of the SDK.

TAK 2.3.0 beta

Reply #9
Is there any chance that Unicode support is going to be added?

TAK 2.3.0 beta

Reply #10
Beta 2 has been attached to the first post.

TAK 2.3.0 beta

Reply #11
I have tested encoding 16bit and 24bit audio, 44100/88200/96000Hz sampling rates, 2/3/4/5/6 channels, and I have independently checked MD5 hashes. All worked fine.

TAK 2.3.0 beta

Reply #12
To my unsuspecting surprise, a new TAK beta.  Guess it's what I get for checking in only once every other week.

I haven't run any tests (yet) but I suspect files encoded with version 2.2.0 will also decompress with the speed improvements under the 2.3.0 binary. That means the codec engine is even more optimized than ever-- which defies the trend/assumption that improvements usually have compromise(s).

Incredible work, Thomas!
"Something bothering you, Mister Spock?"

TAK 2.3.0 beta

Reply #13
Code: [Select]
TAKC -e -pXX -tn4 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn4 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
-p0 1733.10  1689.28   634.63  635.72
-p0e 1673.03  1547.97   633.01  611.35
-p0m 976.43  941.78   632.22  619.84
-p1 1678.03  1649.23   587.16  607.77
-p1e 1127.30  1069.11   591.72  585.38
-p1m 723.70  682.01   606.67  604.57
-p2 1292.74  1235.34   553.88  550.56
-p2e 760.22  711.07   561.28  536.95
-p2m 423.08  392.97   559.61  548.13
-p3   702.78  670.24   538.50  531.76
-p3e 546.27  538.84   541.51  544.24
-p3m 289.82  264.39   540.87  539.52
-p4   464.90  432.96   481.70  490.47
-p4e 371.34  363.19   505.59  506.46
-p4m 179.60  164.09   513.44  510.48
---------------------------------------------------------

TAKC -e -pXX -tn3 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn3 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
-p0 1681.70  1638.57   626.16  621.30
-p0e 1319.18  1368.18   620.72  622.02
-p0m 809.31  805.68   630.51  640.82
-p1 1491.07  1454.87   601.26  586.51
-p1e 952.24  910.91   597.28  605.07
-p1m 606.29  585.41   599.17  601.35
-p2 1066.83  1070.83   551.92  558.83
-p2e 646.74  611.41   554.63  552.76
-p2m 350.69  326.91   553.37  563.29
-p3   585.03  561.31   532.71  534.31
-p3e 474.83  447.47   526.80  525.48
-p3m 235.86  227.48   536.50  546.12
-p4   384.54  366.42   490.19  505.71
-p4e 314.47  298.45   490.43  507.04
-p4m 150.30  137.88   505.41  516.99
---------------------------------------------------------

TAKC -e -pXX -tn2 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn2 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
-p0 1270.38  1267.97   620.59  632.10
-p0e 986.28  984.90   620.59  635.21
-p0m 580.62  556.67   624.92  639.53
-p1 1040.06  984.62   577.00  613.83
-p1e 660.21  638.79   598.77  591.31
-p1m 424.15  424.86   592.96  595.06
-p2   765.34  776.78   551.47  556.71
-p2e 449.91  442.88   550.23  548.68
-p2m 248.60  243.83   549.64  542.75
-p3   415.48  418.67   521.44  522.87
-p3e 332.67  320.49   535.30  539.61
-p3m 167.05  163.53   539.89  540.78
-p4   271.15  269.35   496.93  497.85
-p4e 226.04  222.25   502.62  507.05
-p4m 105.15  101.64   508.38  496.04
---------------------------------------------------------

TAKC -e -pXX -tn1 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn1 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
-p0   672.17  669.82   618.43  617.00
-p0e 496.19  495.51   619.22  634.13
-p0m 294.19  296.58   616.84  627.88
-p1   543.15  542.59   596.17  583.19
-p1e 345.88  345.35   595.80  604.57
-p1m 221.19  213.85   588.50  579.81
-p2   405.36  409.79   551.70  537.18
-p2e 232.37  235.44   553.67  544.69
-p2m 129.74  129.91   549.23  539.36
-p3   215.64  214.45   532.38  536.39
-p3e 174.19  173.37   533.92  538.76
-p3m   87.87 87.87   540.32  543.19
-p4   141.01  141.36   499.10  498.23
-p4e 116.84  116.43   504.36  495.85
-p4m   55.96 55.50   504.40  512.01
---------------------------------------------------------

TAK 2.3.0 beta

Reply #14
Is there any chance that Unicode support is going to be added?

It's the top item on my list of new features which i want to add. But it's not really easy to do with my good old Delphi 6 (from 2001) which has very little unicode support (none for the GUI). But it looks good in the medium term. The bad news: I will be extremely involved in a new job, at least for a couple of months. The good news: I will have to do a lot of work in C++, probably with QT as platform.  When my skills have developed, a port from Delphi to C (++) will be much easier than before. This will open a lot of new possibilities.

But nevertheless it's a lot of work which can not be done soon. And i can't promise anything, because i don't know, when i will have enough time to start this project.

I have tested encoding 16bit and 24bit audio, 44100/88200/96000Hz sampling rates, 2/3/4/5/6 channels, and I have independently checked MD5 hashes. All worked fine.

Great!

To my unsuspecting surprise, a new TAK beta.  Guess it's what I get for checking in only once every other week.

I haven't run any tests (yet) but I suspect files encoded with version 2.2.0 will also decompress with the speed improvements under the 2.3.0 binary. That means the codec engine is even more optimized than ever-- which defies the trend/assumption that improvements usually have compromise(s).

Incredible work, Thomas!

I am really glad to see you back! Well, it also prompts some negative feelings, because i know, that i haven't replied to your last 1 or 2 personal mails... Sorry!

And yes, any files encoded with TAK 2.0 and higher should show decoding speed improvements.

BTW: Thanks to the moderator, who has adapted the thread title!

TAK 2.3.0 beta

Reply #15
Code: [Select]
TAKC -e -pXX -tn4 -cpuSSSE3 test.wav pXX.tak
TAKC -d -tn4 -cpuSSSE3 pXX.tak test_pXX.wav

Preset  Enco-Speed Deco-Speed
---------------------------------------------------------
2.3.0b1  2.3.0b2  Win %  2.3.0b1  2.3.0b2  Win %
---------------------------------------------------------
Thank you very much for your multi-thread-comparison. It is very helpful for me, because i only own two cores. Well, there are worse things in life than the lack of cores... 

But i don't think your setup is accurate enough to catch such tiny differences of 0.5 percent improvement of decoding speed between beta 1 and 2. There seems to be too much noise in your data. Probably even systematically. In your first test decoding speed got down with the decrease of the thread count parameter. That's surprising, because the decoder currently will never use more than 1 thread.

Please don't take me wrong: I am really thankful for your first test, which -despite some inaccuracy- had shown me, that i may have to improve the multi-threaded-encoder performance.


TAK 2.3.0 beta

Reply #16
But i don't think your setup is accurate enough to catch such tiny differences of 0.5 percent improvement of decoding speed between beta 1 and 2.
Maybe ramdrive is too fast for testing small samples.

In your first test decoding speed got down with the decrease of the thread count parameter. That's surprising, because the decoder currently will never use more than 1 thread.
Log for largest (WPCR-13753).
Code: [Select]

H:\>TAKC -e -p0  -tn1 -cpuSSSE3 test.wav p0a.tak
test.wav                            ..........  74.55%  718*

Compression:    74.55 %
Duration:        4.46 sec
Speed:          718.35 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p0a.tak p0a.wav
p0a.tak                            ..........  689* Ok

Duration:        4.65 sec
Speed:        689.01 * real time

H:\>TAKC -e -p0e -tn1 -cpuSSSE3 test.wav p0e.tak
test.wav                            ..........  74.22%  542*

Compression:    74.22 %
Duration:        5.91 sec
Speed:          541.77 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p0e.tak p0e.wav
p0e.tak                            ..........  687* Ok

Duration:        4.66 sec
Speed:        686.77 * real time

H:\>TAKC -e -p0m -tn1 -cpuSSSE3 test.wav p0m.tak
test.wav                            ..........  74.12%  314*

Compression:    74.12 %
Duration:        10.22 sec
Speed:          313.56 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p0m.tak p0m.wav
p0m.tak                            ..........  687* Ok

Duration:        4.66 sec
Speed:        687.11 * real time

H:\>TAKC -e -p1  -tn1 -cpuSSSE3 test.wav p1a.tak
test.wav                            ..........  73.69%  592*

Compression:    73.69 %
Duration:        5.42 sec
Speed:          591.56 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p1a.tak p1a.wav
p1a.tak                            ..........  656* Ok

Duration:        4.88 sec
Speed:        656.38 * real time

H:\>TAKC -e -p1e -tn1 -cpuSSSE3 test.wav p1e.tak
test.wav                            ..........  73.63%  372*

Compression:    73.63 %
Duration:        8.61 sec
Speed:          372.07 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p1e.tak p1e.wav
p1e.tak                            ..........  657* Ok

Duration:        4.88 sec
Speed:        656.85 * real time

H:\>TAKC -e -p1m -tn1 -cpuSSSE3 test.wav p1m.tak
test.wav                            ..........  73.56%  238*

Compression:    73.56 %
Duration:        13.45 sec
Speed:          238.16 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p1m.tak p1m.wav
p1m.tak                            ..........  662* Ok

Duration:        4.84 sec
Speed:        661.86 * real time

H:\>TAKC -e -p2  -tn1 -cpuSSSE3 test.wav p2a.tak
test.wav                            ..........  73.48%  438*

Compression:    73.48 %
Duration:        7.32 sec
Speed:          437.72 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p2a.tak p2a.wav
p2a.tak                            ..........  601* Ok

Duration:        5.33 sec
Speed:        601.14 * real time

H:\>TAKC -e -p2e -tn1 -cpuSSSE3 test.wav p2e.tak
test.wav                            ..........  73.41%  256*

Compression:    73.41 %
Duration:        12.50 sec
Speed:          256.32 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p2e.tak p2e.wav
p2e.tak                            ..........  600* Ok

Duration:        5.34 sec
Speed:        600.22 * real time

H:\>TAKC -e -p2m -tn1 -cpuSSSE3 test.wav p2m.tak
test.wav                            ..........  73.35%  139*

Compression:    73.35 %
Duration:        23.01 sec
Speed:          139.24 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p2m.tak p2m.wav
p2m.tak                            ..........  600* Ok

Duration:        5.34 sec
Speed:        600.43 * real time

H:\>TAKC -e -p3  -tn1 -cpuSSSE3 test.wav p3a.tak
test.wav                            ..........  73.28%  229*

Compression:    73.28 %
Duration:        13.96 sec
Speed:          229.44 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p3a.tak p3a.wav
p3a.tak                            ..........  576* Ok

Duration:        5.56 sec
Speed:        576.40 * real time

H:\>TAKC -e -p3e -tn1 -cpuSSSE3 test.wav p3e.tak
test.wav                            ..........  73.24%  183*

Compression:    73.24 %
Duration:        17.48 sec
Speed:          183.31 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p3e.tak p3e.wav
p3e.tak                            ..........  579* Ok

Duration:        5.53 sec
Speed:        579.24 * real time

H:\>TAKC -e -p3m -tn1 -cpuSSSE3 test.wav p3m.tak
test.wav                            ..........  73.21%  94*

Compression:    73.21 %
Duration:        33.94 sec
Speed:          94.40 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p3m.tak p3m.wav
p3m.tak                            ..........  577* Ok

Duration:        5.55 sec
Speed:        577.32 * real time

H:\>TAKC -e -p4  -tn1 -cpuSSSE3 test.wav p4a.tak
test.wav                            ..........  73.17%  138*

Compression:    73.17 %
Duration:        23.19 sec
Speed:          138.13 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p4a.tak p4a.wav
p4a.tak                            ..........  509* Ok

Duration:        6.29 sec
Speed:        509.34 * real time

H:\>TAKC -e -p4e -tn1 -cpuSSSE3 test.wav p4e.tak
test.wav                            ..........  73.14%  120*

Compression:    73.14 %
Duration:        26.74 sec
Speed:          119.79 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p4e.tak p4e.wav
p4e.tak                            ..........  519* Ok

Duration:        6.18 sec
Speed:        518.58 * real time

H:\>TAKC -e -p4m -tn1 -cpuSSSE3 test.wav p4m.tak
test.wav                            ..........  73.11%  59*

Compression:    73.11 %
Duration:        54.36 sec
Speed:          58.93 * real time

H:\>TAKC -d -tn1 -cpuSSSE3 p4m.tak p4m.wav
p4m.tak                            ..........  532* Ok

Duration:        6.02 sec
Speed:        532.36 * real time

H:\>TAKC -e -p0  -tn2 -cpuSSSE3 test.wav p0a.tak
test.wav                            ..........  74.55% 1408*

Compression:    74.55 %
Duration:        2.28 sec
Speed:        1407.57 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p0a.tak p0a.wav
p0a.tak                            ..........  693* Ok

Duration:        4.62 sec
Speed:        692.87 * real time

H:\>TAKC -e -p0e -tn2 -cpuSSSE3 test.wav p0e.tak
test.wav                            ..........  74.22% 1066*

Compression:    74.22 %
Duration:        3.00 sec
Speed:        1066.29 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p0e.tak p0e.wav
p0e.tak                            ..........  684* Ok

Duration:        4.68 sec
Speed:        684.40 * real time

H:\>TAKC -e -p0m -tn2 -cpuSSSE3 test.wav p0m.tak
test.wav                            ..........  74.12%  612*

Compression:    74.12 %
Duration:        5.23 sec
Speed:          612.47 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p0m.tak p0m.wav
p0m.tak                            ..........  694* Ok

Duration:        4.62 sec
Speed:        693.85 * real time

H:\>TAKC -e -p1  -tn2 -cpuSSSE3 test.wav p1a.tak
test.wav                            ..........  73.69% 1154*

Compression:    73.69 %
Duration:        2.78 sec
Speed:        1153.95 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p1a.tak p1a.wav
p1a.tak                            ..........  659* Ok

Duration:        4.86 sec
Speed:        659.20 * real time

H:\>TAKC -e -p1e -tn2 -cpuSSSE3 test.wav p1e.tak
test.wav                            ..........  73.63%  725*

Compression:    73.63 %
Duration:        4.42 sec
Speed:          724.51 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p1e.tak p1e.wav
p1e.tak                            ..........  655* Ok

Duration:        4.89 sec
Speed:        655.30 * real time

H:\>TAKC -e -p1m -tn2 -cpuSSSE3 test.wav p1m.tak
test.wav                            ..........  73.56%  467*

Compression:    73.56 %
Duration:        6.86 sec
Speed:          467.05 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p1m.tak p1m.wav
p1m.tak                            ..........  657* Ok

Duration:        4.87 sec
Speed:        657.28 * real time

H:\>TAKC -e -p2  -tn2 -cpuSSSE3 test.wav p2a.tak
test.wav                            ..........  73.48%  857*

Compression:    73.48 %
Duration:        3.74 sec
Speed:          857.08 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p2a.tak p2a.wav
p2a.tak                            ..........  603* Ok

Duration:        5.31 sec
Speed:        603.38 * real time

H:\>TAKC -e -p2e -tn2 -cpuSSSE3 test.wav p2e.tak
test.wav                            ..........  73.41%  495*

Compression:    73.41 %
Duration:        6.47 sec
Speed:          495.04 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p2e.tak p2e.wav
p2e.tak                            ..........  602* Ok

Duration:        5.32 sec
Speed:        602.08 * real time

H:\>TAKC -e -p2m -tn2 -cpuSSSE3 test.wav p2m.tak
test.wav                            ..........  73.35%  272*

Compression:    73.35 %
Duration:        11.80 sec
Speed:          271.61 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p2m.tak p2m.wav
p2m.tak                            ..........  600* Ok

Duration:        5.34 sec
Speed:        599.91 * real time

H:\>TAKC -e -p3  -tn2 -cpuSSSE3 test.wav p3a.tak
test.wav                            ..........  73.28%  446*

Compression:    73.28 %
Duration:        7.19 sec
Speed:          445.72 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p3a.tak p3a.wav
p3a.tak                            ..........  575* Ok

Duration:        5.57 sec
Speed:        575.46 * real time

H:\>TAKC -e -p3e -tn2 -cpuSSSE3 test.wav p3e.tak
test.wav                            ..........  73.24%  358*

Compression:    73.24 %
Duration:        8.94 sec
Speed:          358.25 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p3e.tak p3e.wav
p3e.tak                            ..........  577* Ok

Duration:        5.55 sec
Speed:        577.04 * real time

H:\>TAKC -e -p3m -tn2 -cpuSSSE3 test.wav p3m.tak
test.wav                            ..........  73.21%  183*

Compression:    73.21 %
Duration:        17.54 sec
Speed:          182.65 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p3m.tak p3m.wav
p3m.tak                            ..........  582* Ok

Duration:        5.50 sec
Speed:        582.38 * real time

H:\>TAKC -e -p4  -tn2 -cpuSSSE3 test.wav p4a.tak
test.wav                            ..........  73.17%  286*

Compression:    73.17 %
Duration:        11.19 sec
Speed:          286.30 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p4a.tak p4a.wav
p4a.tak                            ..........  533* Ok

Duration:        6.01 sec
Speed:        533.05 * real time

H:\>TAKC -e -p4e -tn2 -cpuSSSE3 test.wav p4e.tak
test.wav                            ..........  73.14%  238*

Compression:    73.14 %
Duration:        13.44 sec
Speed:          238.31 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p4e.tak p4e.wav
p4e.tak                            ..........  535* Ok

Duration:        5.98 sec
Speed:        535.34 * real time

H:\>TAKC -e -p4m -tn2 -cpuSSSE3 test.wav p4m.tak
test.wav                            ..........  73.11%  116*

Compression:    73.11 %
Duration:        27.69 sec
Speed:          115.71 * real time

H:\>TAKC -d -tn2 -cpuSSSE3 p4m.tak p4m.wav
p4m.tak                            ..........  542* Ok

Duration:        5.91 sec
Speed:        542.00 * real time

H:\>TAKC -e -p0  -tn3 -cpuSSSE3 test.wav p0a.tak
test.wav                            ..........  74.55% 1878*

Compression:    74.55 %
Duration:        1.71 sec
Speed:        1877.93 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p0a.tak p0a.wav
p0a.tak                            ..........  691* Ok

Duration:        4.64 sec
Speed:        691.13 * real time

H:\>TAKC -e -p0e -tn3 -cpuSSSE3 test.wav p0e.tak
test.wav                            ..........  74.22% 1564*

Compression:    74.22 %
Duration:        2.05 sec
Speed:        1563.79 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p0e.tak p0e.wav
p0e.tak                            ..........  686* Ok

Duration:        4.67 sec
Speed:        685.52 * real time

H:\>TAKC -e -p0m -tn3 -cpuSSSE3 test.wav p0m.tak
test.wav                            ..........  74.12%  898*

Compression:    74.12 %
Duration:        3.57 sec
Speed:          898.41 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p0m.tak p0m.wav
p0m.tak                            ..........  695* Ok

Duration:        4.61 sec
Speed:        695.08 * real time

H:\>TAKC -e -p1  -tn3 -cpuSSSE3 test.wav p1a.tak
test.wav                            ..........  73.69% 1649*

Compression:    73.69 %
Duration:        1.94 sec
Speed:        1649.00 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p1a.tak p1a.wav
p1a.tak                            ..........  658* Ok

Duration:        4.87 sec
Speed:        657.50 * real time

H:\>TAKC -e -p1e -tn3 -cpuSSSE3 test.wav p1e.tak
test.wav                            ..........  73.63% 1047*

Compression:    73.63 %
Duration:        3.06 sec
Speed:        1046.82 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p1e.tak p1e.wav
p1e.tak                            ..........  665* Ok

Duration:        4.81 sec
Speed:        665.41 * real time

H:\>TAKC -e -p1m -tn3 -cpuSSSE3 test.wav p1m.tak
test.wav                            ..........  73.56%  676*

Compression:    73.56 %
Duration:        4.74 sec
Speed:          676.42 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p1m.tak p1m.wav
p1m.tak                            ..........  659* Ok

Duration:        4.86 sec
Speed:        658.97 * real time

H:\>TAKC -e -p2  -tn3 -cpuSSSE3 test.wav p2a.tak
test.wav                            ..........  73.48% 1230*

Compression:    73.48 %
Duration:        2.60 sec
Speed:        1230.41 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p2a.tak p2a.wav
p2a.tak                            ..........  605* Ok

Duration:        5.30 sec
Speed:        604.91 * real time

H:\>TAKC -e -p2e -tn3 -cpuSSSE3 test.wav p2e.tak
test.wav                            ..........  73.41%  722*

Compression:    73.41 %
Duration:        4.44 sec
Speed:          721.72 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p2e.tak p2e.wav
p2e.tak                            ..........  606* Ok

Duration:        5.28 sec
Speed:        606.20 * real time

H:\>TAKC -e -p2m -tn3 -cpuSSSE3 test.wav p2m.tak
test.wav                            ..........  73.35%  398*

Compression:    73.35 %
Duration:        8.05 sec
Speed:          397.75 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p2m.tak p2m.wav
p2m.tak                            ..........  606* Ok

Duration:        5.29 sec
Speed:        605.51 * real time

H:\>TAKC -e -p3  -tn3 -cpuSSSE3 test.wav p3a.tak
test.wav                            ..........  73.28%  655*

Compression:    73.28 %
Duration:        4.89 sec
Speed:          654.90 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p3a.tak p3a.wav
p3a.tak                            ..........  581* Ok

Duration:        5.51 sec
Speed:        581.47 * real time

H:\>TAKC -e -p3e -tn3 -cpuSSSE3 test.wav p3e.tak
test.wav                            ..........  73.24%  521*

Compression:    73.24 %
Duration:        6.15 sec
Speed:          520.71 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p3e.tak p3e.wav
p3e.tak                            ..........  580* Ok

Duration:        5.52 sec
Speed:        579.90 * real time

H:\>TAKC -e -p3m -tn3 -cpuSSSE3 test.wav p3m.tak
test.wav                            ..........  73.21%  269*

Compression:    73.21 %
Duration:        11.91 sec
Speed:          268.88 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p3m.tak p3m.wav
p3m.tak                            ..........  577* Ok

Duration:        5.55 sec
Speed:        577.46 * real time

H:\>TAKC -e -p4  -tn3 -cpuSSSE3 test.wav p4a.tak
test.wav                            ..........  73.17%  419*

Compression:    73.17 %
Duration:        7.64 sec
Speed:          419.13 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p4a.tak p4a.wav
p4a.tak                            ..........  539* Ok

Duration:        5.95 sec
Speed:        538.60 * real time

H:\>TAKC -e -p4e -tn3 -cpuSSSE3 test.wav p4e.tak
test.wav                            ..........  73.14%  349*

Compression:    73.14 %
Duration:        9.19 sec
Speed:          348.58 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p4e.tak p4e.wav
p4e.tak                            ..........  534* Ok

Duration:        5.99 sec
Speed:        534.50 * real time

H:\>TAKC -e -p4m -tn3 -cpuSSSE3 test.wav p4m.tak
test.wav                            ..........  73.11%  168*

Compression:    73.11 %
Duration:        19.12 sec
Speed:          167.53 * real time

H:\>TAKC -d -tn3 -cpuSSSE3 p4m.tak p4m.wav
p4m.tak                            ..........  539* Ok

Duration:        5.94 sec
Speed:        539.25 * real time

H:\>TAKC -e -p0  -tn4 -cpuSSSE3 test.wav p0a.tak
test.wav                            ..........  74.55% 1890*

Compression:    74.55 %
Duration:        1.69 sec
Speed:        1890.28 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p0a.tak p0a.wav
p0a.tak                            ..........  697* Ok

Duration:        4.60 sec
Speed:        696.93 * real time

H:\>TAKC -e -p0e -tn4 -cpuSSSE3 test.wav p0e.tak
test.wav                            ..........  74.22% 1771*

Compression:    74.22 %
Duration:        1.81 sec
Speed:        1771.36 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p0e.tak p0e.wav
p0e.tak                            ..........  687* Ok

Duration:        4.67 sec
Speed:        686.50 * real time

H:\>TAKC -e -p0m -tn4 -cpuSSSE3 test.wav p0m.tak
test.wav                            ..........  74.12% 1030*

Compression:    74.12 %
Duration:        3.11 sec
Speed:        1029.84 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p0m.tak p0m.wav
p0m.tak                            ..........  690* Ok

Duration:        4.65 sec
Speed:        689.57 * real time

H:\>TAKC -e -p1  -tn4 -cpuSSSE3 test.wav p1a.tak
test.wav                            ..........  73.69% 1841*

Compression:    73.69 %
Duration:        1.74 sec
Speed:        1840.74 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p1a.tak p1a.wav
p1a.tak                            ..........  661* Ok

Duration:        4.84 sec
Speed:        661.29 * real time

H:\>TAKC -e -p1e -tn4 -cpuSSSE3 test.wav p1e.tak
test.wav                            ..........  73.63% 1201*

Compression:    73.63 %
Duration:        2.67 sec
Speed:        1201.28 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p1e.tak p1e.wav
p1e.tak                            ..........  659* Ok

Duration:        4.86 sec
Speed:        658.66 * real time

H:\>TAKC -e -p1m -tn4 -cpuSSSE3 test.wav p1m.tak
test.wav                            ..........  73.56%  737*

Compression:    73.56 %
Duration:        4.35 sec
Speed:          736.66 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p1m.tak p1m.wav
p1m.tak                            ..........  659* Ok

Duration:        4.86 sec
Speed:        658.85 * real time

H:\>TAKC -e -p2  -tn4 -cpuSSSE3 test.wav p2a.tak
test.wav                            ..........  73.48% 1360*

Compression:    73.48 %
Duration:        2.36 sec
Speed:        1360.03 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p2a.tak p2a.wav
p2a.tak                            ..........  602* Ok

Duration:        5.32 sec
Speed:        601.78 * real time

H:\>TAKC -e -p2e -tn4 -cpuSSSE3 test.wav p2e.tak
test.wav                            ..........  73.41%  797*

Compression:    73.41 %
Duration:        4.02 sec
Speed:          797.16 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p2e.tak p2e.wav
p2e.tak                            ..........  609* Ok

Duration:        5.26 sec
Speed:        608.52 * real time

H:\>TAKC -e -p2m -tn4 -cpuSSSE3 test.wav p2m.tak
test.wav                            ..........  73.35%  443*

Compression:    73.35 %
Duration:        7.23 sec
Speed:          443.17 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p2m.tak p2m.wav
p2m.tak                            ..........  601* Ok

Duration:        5.33 sec
Speed:        600.71 * real time

H:\>TAKC -e -p3  -tn4 -cpuSSSE3 test.wav p3a.tak
test.wav                            ..........  73.28%  720*

Compression:    73.28 %
Duration:        4.45 sec
Speed:          719.77 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p3a.tak p3a.wav
p3a.tak                            ..........  578* Ok

Duration:        5.54 sec
Speed:        577.88 * real time

H:\>TAKC -e -p3e -tn4 -cpuSSSE3 test.wav p3e.tak
test.wav                            ..........  73.24%  578*

Compression:    73.24 %
Duration:        5.54 sec
Speed:          578.42 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p3e.tak p3e.wav
p3e.tak                            ..........  578* Ok

Duration:        5.54 sec
Speed:        578.30 * real time

H:\>TAKC -e -p3m -tn4 -cpuSSSE3 test.wav p3m.tak
test.wav                            ..........  73.21%  301*

Compression:    73.21 %
Duration:        10.64 sec
Speed:          301.10 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p3m.tak p3m.wav
p3m.tak                            ..........  580* Ok

Duration:        5.52 sec
Speed:        579.99 * real time

H:\>TAKC -e -p4  -tn4 -cpuSSSE3 test.wav p4a.tak
test.wav                            ..........  73.17%  467*

Compression:    73.17 %
Duration:        6.85 sec
Speed:          467.37 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p4a.tak p4a.wav
p4a.tak                            ..........  533* Ok

Duration:        6.01 sec
Speed:        532.99 * real time

H:\>TAKC -e -p4e -tn4 -cpuSSSE3 test.wav p4e.tak
test.wav                            ..........  73.14%  399*

Compression:    73.14 %
Duration:        8.02 sec
Speed:          399.45 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p4e.tak p4e.wav
p4e.tak                            ..........  531* Ok

Duration:        6.04 sec
Speed:        530.75 * real time

H:\>TAKC -e -p4m -tn4 -cpuSSSE3 test.wav p4m.tak
test.wav                            ..........  73.11%  193*

Compression:    73.11 %
Duration:        16.62 sec
Speed:          192.71 * real time

H:\>TAKC -d -tn4 -cpuSSSE3 p4m.tak p4m.wav
p4m.tak                            ..........  535* Ok

Duration:        5.98 sec
Speed:        535.43 * real time


TAK 2.3.0 beta

Reply #17
Maybe ramdrive is too fast for testing small samples.

May i ask, what ramdrive you are using? I am looking for one, which can easily be deactivated or shrinked, if i don't need it.

Well, probably it is easier to achieve less variable results with my test set up:

1. I don't output anything. I use -te and -t.
2. For each preset i am performing 12 runs (less for the most demanding encoder presets). First two to get the source data into window's file cache. 10 runs are beeing evaluated.
3. Then i take the minimum processing time respectively the maximum speed.

That's a nice setup for testing my code optimization. But i wouldn't recommend it for general codec comparisons, because the speed of file output may be systematically affected by a codec's design (for instance by the frame size).

For my lateset decoding speed test run (i was evaluating some code modification) i got these results:

Code: [Select]
Preset  Ratio   Speed
                Max     Mean    Min     N
-p0s        0.00  504.65  504.14  503.16      10
-p0e        0.00  505.82  505.22  504.32      10
-p0m        0.00  507.24  506.69  505.59      10
-p1s        0.00  481.07  480.67  479.51      10
-p1e        0.00  481.83  481.30  480.41      10
-p1m        0.00  483.45  482.88  481.95      10
-p2s        0.00  426.10  425.57  425.02      10
-p2e        0.00  422.71  422.43  421.96      10
-p2m        0.00  424.98  424.82  424.12      10
-p3s        0.00  387.39  387.19  386.87      10
-p3e        0.00  387.47  385.90  381.98      10
-p3m        0.00  386.61  383.64  372.94      10
-p4s        0.00  347.22  347.10  346.92      10
-p4e        0.00  346.60  346.40  346.06      10
-p4m        0.00  346.77  343.69  330.32      10

Well, seems as if i am also getting some outliers...

As stated above, i don't recommend my test setup for practical comparisons.

And your multi-threaded-encoder results are sufficiently accurate to show me, that the encoder isn't scaling optimally with the thread count.

In your first test decoding speed got down with the decrease of the thread count parameter. That's surprising, because the decoder currently will never use more than 1 thread.

Log for largest (WPCR-13753).

I performed a quick evaluation of the main presets:

Code: [Select]
        Speed                             Difference to Mean
        tn1     tn2      tn3      tn4     tn1     tn2     tn3     tn4
p0a     689     693      691      697      -3.5     0.5    -1.5     4.5
p1a     656     659      658      661      -2.5     0.5    -0.5     2.5
p2a     601     603      605      602      -1.8     0.3     2.3    -0.8
p3a     579     575      581      578       0.8    -3.3     2.8    -0.3
p4a     509     533      539      533     -19.5     4.5    10.5     4.5
p4m     532     542      539      535      -5.0     5.0     2.0    -2.0
Mean:   594.33  600.83   602.17   601.00   -5.3     1.3     2.6     1.4

It seems to comfirm my statement, but i wouldn't bet on it. I only performed a fast visual inspection of your previous data, and this way it's easy to get fooled.


TAK 2.3.0 beta

Reply #18
Its a big pleasure to see that TAK development goes on. Thank you Thomas for this release!
Here is the speed comparison between 2.2.0 and 2.3.0b2
Hardware\OS: i7-2700K overclocked to 4500 MHz, DDR3-1600, Windows XP x64 SP2
Test set: 30 randomly taken audio tracks. Converted from lossless to one WAV PCM file (1 850 849 944 bytes, 44100\16bit\2ch)
Conditions: Tested on RAM disk, timetest utility used for time measurement, -tn4 -silent options for TAK, post-compare with FC /B


Seriously, with current CPUs and multi-threading, TAK -p2 compresses at 223 MB\s. Its far beyond the usual HDD speeds (SSD is not discussable here). Also, you're anyway limited with your network bandwidth so its no matter how fast you have compressed your project - it will take the same time for transfering it to external storage or some person. But it will take less time if the files are compressed more tightly.

May i ask, what ramdrive you are using? I am looking for one, which can easily be deactivated or shrinked, if i don't need it.

Although this question is not addressed to me, I can suggest SuperSpeed RAMDisk Plus. But its not a freeware. You can also try AR Soft RAMDisk, Dataram_RAMDisk, Gavotte_RAMDisk, QSoft RAMDisk, VSuite Ramdisk.


TAK 2.3.0 beta

Reply #20
Its a big pleasure to see that TAK development goes on. Thank you Thomas for this release!

Yea, i still have some ideas and plans, but unfortunately less time to spend. But the latter might change in the medium term.

Really good speedup. Honestly speaking I am impressed!

Thank you! I am very happy about the speed up. I wouldn't have thought, that i could squeeze so much out of the already extremely optimized code.

But your comparison (once more) shows me two important things:

1. The multi-threaded-encoder performance has to be improved. I think i know, why it doesn't scale well with more than 2 cores.

2. Quad cores are much more common now. Therefore it does make sense, to invest into the above mentioned improvements. And it also may be adequate,  to implement significanty slower compression improvements.

1.) WAV parser in TAK is not optimal.

I've got the files. But i don't hink, i will deal with the issue before the next release.

2.) Small cosmetic issue.
-fsl# option description in console version contains text: Up to 8192 for -cLW. LossyWav oriented codec have been removed, so the text is obsolete.

Indeed. I stumbled upon it myself, but then forgot to fix it...

3.) It would be nice if GUI version would keep its settings (number of threads, compression level, etc) in for example INI file. Not so critical, but little bit unpleasant.

Noted.

4.) You mentioned that removing the "Beta" word from final version could affect the code aligning. I thought about it and can suggest at least three ways to avoid it.

Very good! Unfortunately the beta releases often also contain some debug code, which is beeing disabled in the final release.

5.) More compression 
Seriously, with current CPUs and multi-threading, TAK -p2 compresses at 223 MB\s. Its far beyond the usual HDD speeds (SSD is not discussable here). Also, you're anyway limited with your network bandwidth so its no matter how fast you have compressed your project - it will take the same time for transfering it to external storage or some person. But it will take less time if the files are compressed more tightly.

I am just trying some things... But compression improvements will be small and make the encoder (the Xm-presets) very much slower.



TAK 2.3.0 beta

Reply #21
5.) More compression 
Seriously, with current CPUs and multi-threading, TAK -p2 compresses at 223 MB\s. Its far beyond the usual HDD speeds (SSD is not discussable here). Also, you're anyway limited with your network bandwidth so its no matter how fast you have compressed your project - it will take the same time for transfering it to external storage or some person. But it will take less time if the files are compressed more tightly.

I am just trying some things... But compression improvements will be small and make the encoder (the Xm-presets) very much slower.

Well, i have spend several days on this. Although i am supposed to do something totally different. My fault. But it was fun...

The results are as expected: Without breaking backwards compatibility and without making decoding slower, it's quite difficult to improve the compression ratio. The one new feature i have optimized provides only about 0.06 percent better compression for my primary sample set. But it halves the encoding speed of the -pXm - presets. Ok, the improvements for some quite extraordinary files can be as high as 1.5 percent. If someone should own a lot of such files, it could get interesting.

Currently i am not sure, if such small improvements (there are some more i could try) of the compression ratio are worth the heavy speed penalty. I will think about it and possibly create a TAK-2.4.0-development thread to ask the users, what they think. But this willl not happen within the next months.

For now, i have to release TAK 2.3.0 Final.

If someone has encountered any bugs, please report them now.

  Thomas



TAK 2.3.0 beta

Reply #22
May i ask, what ramdrive you are using? I am looking for one, which can easily be deactivated or shrinked, if i don't need it.


ImDisk Virtual Disk Driver - http://www.ltr-data.se/opencode.html/

Well, probably it is easier to achieve less variable results with my test set up:

1. I don't output anything. I use -te and -t.
2. For each preset i am performing 12 runs (less for the most demanding encoder presets). First two to get the source data into window's file cache. 10 runs are beeing evaluated.
3. Then i take the minimum processing time respectively the maximum speed.

Ok.

TAK 2.3.0 beta

Reply #23
If someone has encountered any bugs, please report them now.
The [a href='index.php?act=findpost&pid=762963']cuesheet-issue[/a] (with AND without pipe) still persists.
Quote
"key=@file" will read the value from the text(!) file "file" in the source directory.
Obviously there's no source directory when Takc's input comes from Wvunpack's output (pipe). That's where it goes wrong.

The support for binary items like pictures is now on my todo list for V2.2.1. If nothing intervenes.
How's this coming along?

...Without breaking backwards compatibility and without making decoding slower, it's quite difficult to improve the compression ratio...
Are you saying, breaking compatibility would allow for much stronger compression?

TAK 2.3.0 beta

Reply #24
By the way, ImgBurn now supports TAK (as of version 2.5.8.0).