Skip to main content
Topic: MMX Optimized WavPack Encoder (for Windows) (Read 29879 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

MMX Optimized WavPack Encoder (for Windows)

Reply #25
I have tested the files (using suggested command-line with timer) that you have suggested (he-jo) on my two machines!

TESTED FILES:
Code: [Select]
41_30sec.wav
Bartok_strings2.wav
BigYellow.wav
bodyheat.wav
DaFunk.wav
dBTech_122-96_24bit_web.wav
EnolaGay.wav
Leahy.wav
Mama.wav
mytek_8X96_24bit_web.wav
NewYorkCity.wav
OrdinaryWorld.wav
prism_AD124_24bit_web.wav
Quizas.wav
rosemary.wav
SinceAlways.wav
thear1.wav
TheSource.wav
trust.wav
Twelve.wav
Waiting.wav
CELERON MACHINE SPECS:
Code: [Select]
OS:       Microsoft Windows XP Professional Service Pack 2
CPU:      Intel Celeron-A, 466 MHz (7 x 67)
MEMORY:   256 MB (SDRAM)
MOBO:     Intel 82440BX/ZX
VIDEO:    NVIDIA RIVA TNT (16 MB)
MONITOR:  Compaq V55 [15 inch CRT]
SOUND:    ESS Technology ES1938/ES1941/ES1946 Solo-1(E) Sound Card
HDD:      ST310211A (10 GB, 5400 RPM, Ultra-ATA/100)
OPTICAL:  HL-DT-ST CD-RW GCE-8480B (48x/16x/48x CD-RW)
ATHLON MACHINE SPECS:
Code: [Select]
OS:       Microsoft Windows XP Professional Service Pack 2
CPU:      AMD Athlon XP, 1666 MHz (12.5 x 133) 2000+
MEMORY:   512 MB (DDR SDRAM)
MOBO:     ECS KT600-A (4 PCI, 1 AGP, 1 CNR, 3 DDR DIMM, Audio, LAN)
VIDEO:    WinFast A340
MONITOR:  Samsung SyncMaster 750(M)s(T) [17 inch CRT]
SOUND:    VIA AC97 Enhanced Audio Controller
HDD:      Maxtor 6 Y080M0 SCSI Disk Device (80 GB, 7200 RPM, SATA)
OPTICAL:  HL-DT-ST CD-RW GCE-8520B (52x/24x/52x CD-RW)
RESULTS FOR CELERON:
Code: [Select]
OVERALL RESULTS [-f -x6]:
----------------------------------------------
TEST_ORIGINAL
Kernel Time  =    3.304 = 00:00:03.304 =  0%
User Time    =  471.017 = 00:07:51.017 =  98%
Process Time =  474.322 = 00:07:54.322 =  98%
Global Time  =  479.960 = 00:07:59.960 = 100%
----------------------------------------------
TEST_BSR [+7,84%]
Kernel Time  =    3.424 = 00:00:03.424 =  0%
User Time    =  433.733 = 00:07:13.733 =  98%
Process Time =  437.158 = 00:07:17.158 =  98%
Global Time  =  442.477 = 00:07:22.477 = 100%
----------------------------------------------
TEST_JFL2B [+2,08%]
Kernel Time  =    3.324 = 00:00:03.324 =  0%
User Time    =  461.123 = 00:07:41.123 =  98%
Process Time =  464.447 = 00:07:44.447 =  98%
Global Time  =  469.715 = 00:07:49.715 = 100%
----------------------------------------------
TEST_MMX [+14,30%]
Kernel Time  =    2.954 = 00:00:02.954 =  0%
User Time    =  403.560 = 00:06:43.560 =  98%
Process Time =  406.514 = 00:06:46.514 =  98%
Global Time  =  411.352 = 00:06:51.352 = 100%
----------------------------------------------
TEST_MMX-BSR [+22,64%]
Kernel Time  =    3.304 = 00:00:03.304 =  0%
User Time    =  363.642 = 00:06:03.642 =  97%
Process Time =  366.947 = 00:06:06.947 =  98%
Global Time  =  372.085 = 00:06:12.085 = 100%
----------------------------------------------
TEST_MMX-JFL2B [+16,58%]
Kernel Time  =    2.984 = 00:00:02.984 =  0%
User Time    =  392.684 = 00:06:32.684 =  97%
Process Time =  395.668 = 00:06:35.668 =  98%
Global Time  =  400.857 = 00:06:40.857 = 100%
RSEULTS FOR ATHLON:
Code: [Select]
OVERALL RESULTS [-f -x6]:
----------------------------------------------
TEST_ORIGINAL
Kernel Time  =    0.765 = 00:00:00.765 =  0%
User Time    =  100.734 = 00:01:40.734 =  98%
Process Time =  101.500 = 00:01:41.500 =  99%
Global Time  =  102.281 = 00:01:42.281 = 100%
----------------------------------------------
TEST_BSR [+3,65%]
Kernel Time  =    0.953 = 00:00:00.953 =  0%
User Time    =    96.843 = 00:01:36.843 =  98%
Process Time =    97.796 = 00:01:37.796 =  99%
Global Time  =    98.484 = 00:01:38.484 = 100%
----------------------------------------------
TEST_JFL2B [+0,55%]
Kernel Time  =    0.921 = 00:00:00.921 =  0%
User Time    =  100.015 = 00:01:40.015 =  98%
Process Time =  100.937 = 00:01:40.937 =  99%
Global Time  =  101.688 = 00:01:41.688 = 100%
----------------------------------------------
TEST_MMX [+12,78%]
Kernel Time  =    0.812 = 00:00:00.812 =  0%
User Time    =    87.718 = 00:01:27.718 =  98%
Process Time =    88.531 = 00:01:28.531 =  99%
Global Time  =    89.078 = 00:01:29.078 = 100%
----------------------------------------------
TEST_MMX-BSR [+16,49%]
Kernel Time  =    0.796 = 00:00:00.796 =  0%
User Time    =    83.968 = 00:01:23.968 =  98%
Process Time =    84.765 = 00:01:24.765 =  99%
Global Time  =    85.375 = 00:01:25.375 = 100%
----------------------------------------------
TEST_MMX-JFL2B [+13,50%]
Kernel Time  =    0.968 = 00:00:00.968 =  1%
User Time    =    86.828 = 00:01:26.828 =  98%
Process Time =    87.796 = 00:01:27.796 =  99%
Global Time  =    88.484 = 00:01:28.484 = 100%
Well the conclusion is after done this tests that MMX with BSR is fastest on slower machine ~22% with -f -x6 options, the JFL2B optimization is just tiny faster, but is this caused by my build, almost certainly YES, because he-jo have stated that this optimization is ~8% faster. I do not know where is the problem with my implementation, it will be nice if some one familiar with VC++ and NASM could check my sources.

MMX Optimized WavPack Encoder (for Windows)

Reply #26
Thank you very much for your tests! I think I've found the problem. It's caused by a memory stall, which is very expensive on Athlons. I've already written a workaround, and now I'm getting a speedup of 10% on the Celeron machine. I'll probably post the modified patch tomorrow.

MMX Optimized WavPack Encoder (for Windows)

Reply #27
Hi. I made the test with my P4. I used bunch of random samples and few random songs in my test. The resulted test wav was 236MB and 23min 28sec long. I took two test rounds. First with -f -x6 settings and second with -h -x settings.

Here are the machine specs.
Code: [Select]
OS:       Microsoft Windows XP Professional Service Pack 2
CPU:      Intel Pentium 4, 2533 MHz (533 MHz FSB) and its overclocked to 2866 MHz (19 x 151)
MEMORY:   1024 MB (DDR-SDRAM) (2x512 in dual channel)
MOBO:     Intel E7205

Here are the test results with -f -x6
Code: [Select]
Release\wavpack.exe -f -x6 Image.wav 

Kernel Time  = 1.171 = 00:00:01.171 =  0%
User Time =  163.359 = 00:02:43.359 =  95%
Process Time =  164.531 = 00:02:44.531 =  96%
Global Time  =  170.781 = 00:02:50.781 = 100%


ReleaseBSR\wavpack.exe -f -x6 Image.wav

Kernel Time  = 0.906 = 00:00:00.906 =  0%
User Time =  135.781 = 00:02:15.781 =  94%
Process Time =  136.687 = 00:02:16.687 =  95%
Global Time  =  142.984 = 00:02:22.984 = 100%

ReleaseJFL2B\wavpack.exe -f -x6 Image.wav

Kernel Time  = 1.187 = 00:00:01.187 =  0%
User Time =  233.312 = 00:03:53.312 =  95%
Process Time =  234.500 = 00:03:54.500 =  96%
Global Time  =  243.750 = 00:04:03.750 = 100%

ReleaseMMX\wavpack.exe -f -x6 Image.wav

Kernel Time  = 0.875 = 00:00:00.875 =  0%
User Time =  132.078 = 00:02:12.078 =  95%
Process Time =  132.953 = 00:02:12.953 =  95%
Global Time  =  138.906 = 00:02:18.906 = 100%

ReleaseMMX-BSR\wavpack.exe -f -x6 Image.wav

Kernel Time  = 1.203 = 00:00:01.203 =  1%
User Time =  103.953 = 00:01:43.953 =  94%
Process Time =  105.156 = 00:01:45.156 =  95%
Global Time  =  110.422 = 00:01:50.422 = 100%

ReleaseMMX-JFL2B\wavpack.exe -f -x6 Image.wav

Kernel Time  = 1.125 = 00:00:01.125 =  0%
User Time =  201.703 = 00:03:21.703 =  95%
Process Time =  202.828 = 00:03:22.828 =  96%
Global Time  =  211.109 = 00:03:31.109 = 100%

And here are the test results with -h -x
Code: [Select]
Release\wavpack.exe -h -x Image.wav 

Kernel Time  = 1.125 = 00:00:01.125 =  0%
User Time =  782.984 = 00:13:02.984 =  96%
Process Time =  784.109 = 00:13:04.109 =  96%
Global Time  =  808.532 = 00:13:28.532 = 100%

ReleaseBSR\wavpack.exe -h -x Image.wav

Kernel Time  = 1.265 = 00:00:01.265 =  0%
User Time =  657.890 = 00:10:57.890 =  97%
Process Time =  659.156 = 00:10:59.156 =  97%
Global Time  =  677.000 = 00:11:17.000 = 100%

ReleaseJFL2B\wavpack.exe -h -x Image.wav

Kernel Time  = 1.328 = 00:00:01.328 =  0%
User Time =  1098.031 = 00:18:18.031 =  97%
Process Time =  1099.359 = 00:18:19.359 =  97%
Global Time  =  1131.922 = 00:18:51.922 = 100%

ReleaseMMX\wavpack.exe -h -x Image.wav

Kernel Time  = 1.328 = 00:00:01.328 =  0%
User Time =  599.156 = 00:09:59.156 =  96%
Process Time =  600.484 = 00:10:00.484 =  97%
Global Time  =  617.922 = 00:10:17.922 = 100%

ReleaseMMX-BSR\wavpack.exe -h -x Image.wav

Kernel Time  = 1.171 = 00:00:01.171 =  0%
User Time =  471.296 = 00:07:51.296 =  96%
Process Time =  472.468 = 00:07:52.468 =  97%
Global Time  =  486.954 = 00:08:06.954 = 100%

ReleaseMMX-JFL2B\wavpack.exe -h -x Image.wav

Kernel Time  = 1.421 = 00:00:01.421 =  0%
User Time =  909.218 = 00:15:09.218 =  96%
Process Time =  910.640 = 00:15:10.640 =  96%
Global Time  =  940.078 = 00:15:40.078 = 100%

It clearly shows that JFL2B build's are no good wit P4

MMX Optimized WavPack Encoder (for Windows)

Reply #28
Quote
Thank you very much for your tests! I think I\'ve found the problem. It\'s caused by a memory stall, which is very expensive on Athlons. I\'ve already written a workaround, and now I\'m getting a speedup of 10% on the Celeron machine. I\'ll probably post the modified patch tomorrow.


he, i have found the update on your website (wp-4.32-jfl2b.diff.gz, 28-May-2006 12:03) the date is suggesting this ;-)

so next builds and test results will be released soon

MMX Optimized WavPack Encoder (for Windows)

Reply #29
Thanks to askoff for his P4 tests! I'm very interested in this. Would be nice, if you could run them again after wisodev has released his new binaries.

MMX Optimized WavPack Encoder (for Windows)

Reply #30
[!--sizeo:2--][span style=\"font-size:10pt;line-height:100%\"][!--/sizeo--]NOTE: This are old binarys and sources! Use updated binarys and sources from POST #40.[/size]
Well, the fresh builds are here and look very promising!

Using as always latest optimizations posted in this thread by he-jo, including sources (using JFL2B, called by me JFL2B version 2).

New binarys are included in ReleaseJFL2B and ReleaseMMX-JFL2B dirs, other binarys are the same as in post #21, but the sources are updated.

Download the newest binarys and sources:
[attachment=2250:attachment]
Below are RAW test results I have done yesterday. Completed three runs to be sure of the results. I have only tested on my Athlon machine, the specs are the same as in the previous test (well I have yesterday lot of fun playing with Xgl and compiz in my new and shiny SUSE Linux 10.1 and done only Athlon test). Using in all tests -f -x6 options.
Code: [Select]
Run 1 results:

TEST_ORIGINAL
Kernel Time  =    0.937 = 00:00:00.937 =  0%
User Time    =  100.953 = 00:01:40.953 =  96%
Process Time =  101.890 = 00:01:41.890 =  97%
Global Time  =  104.656 = 00:01:44.656 = 100%

TEST_BSR [+3,80%]
Kernel Time  =    0.906 = 00:00:00.906 =  0%
User Time    =    97.109 = 00:01:37.109 =  98%
Process Time =    98.015 = 00:01:38.015 =  99%
Global Time  =    98.843 = 00:01:38.843 = 100%

TEST_JFL2B [+10,73%]
Kernel Time  =    0.703 = 00:00:00.703 =  0%
User Time    =    90.250 = 00:01:30.250 =  98%
Process Time =    90.953 = 00:01:30.953 =  99%
Global Time  =    91.547 = 00:01:31.547 = 100%

TEST_MMX [+13,08%]
Kernel Time  =    0.843 = 00:00:00.843 =  0%
User Time    =    87.718 = 00:01:27.718 =  98%
Process Time =    88.562 = 00:01:28.562 =  99%
Global Time  =    89.328 = 00:01:29.328 = 100%

TEST_MMX-BSR [+16,93%]
Kernel Time  =    0.781 = 00:00:00.781 =  0%
User Time    =    83.859 = 00:01:23.859 =  98%
Process Time =    84.640 = 00:01:24.640 =  99%
Global Time  =    85.375 = 00:01:25.375 = 100%

TEST_MMX-JFL2B [+24,20%]
Kernel Time  =    0.671 = 00:00:00.671 =  0%
User Time    =    76.562 = 00:01:16.562 =  98%
Process Time =    77.234 = 00:01:17.234 =  99%
Global Time  =    77.828 = 00:01:17.828 = 100%

---

Run 2 results:

TEST_ORIGINAL
Kernel Time  =    0.859 = 00:00:00.859 =  0%
User Time    =  100.640 = 00:01:40.640 =  98%
Process Time =  101.500 = 00:01:41.500 =  99%
Global Time  =  102.219 = 00:01:42.219 = 100%

TEST_BSR [+3,63%]
Kernel Time  =    0.921 = 00:00:00.921 =  0%
User Time    =    96.890 = 00:01:36.890 =  98%
Process Time =    97.812 = 00:01:37.812 =  99%
Global Time  =    98.547 = 00:01:38.547 = 100%

TEST_JFL2B [+10,78%]
Kernel Time  =    0.875 = 00:00:00.875 =  0%
User Time    =    89.687 = 00:01:29.687 =  98%
Process Time =    90.562 = 00:01:30.562 =  99%
Global Time  =    91.187 = 00:01:31.187 = 100%

TEST_MMX [+12,93%]
Kernel Time  =    1.125 = 00:00:01.125 =  1%
User Time    =    87.250 = 00:01:27.250 =  97%
Process Time =    88.375 = 00:01:28.375 =  99%
Global Time  =    89.062 = 00:01:29.062 = 100%

TEST_MMX-BSR [+16,63%]
Kernel Time  =    0.734 = 00:00:00.734 =  0%
User Time    =    83.890 = 00:01:23.890 =  98%
Process Time =    84.625 = 00:01:24.625 =  99%
Global Time  =    85.281 = 00:01:25.281 = 100%

TEST_MMX-JFL2B [+24,15%]
Kernel Time  =    1.093 = 00:00:01.093 =  1%
User Time    =    75.890 = 00:01:15.890 =  97%
Process Time =    76.984 = 00:01:16.984 =  99%
Global Time  =    77.656 = 00:01:17.656 = 100%

---

Run 3 results:

TEST_ORIGINAL
Kernel Time  =    0.734 = 00:00:00.734 =  0%
User Time    =  100.812 = 00:01:40.812 =  98%
Process Time =  101.546 = 00:01:41.546 =  99%
Global Time  =  102.188 = 00:01:42.188 = 100%

TEST_BSR [+3,82%]
Kernel Time  =    1.109 = 00:00:01.109 =  1%
User Time    =    96.562 = 00:01:36.562 =  98%
Process Time =    97.671 = 00:01:37.671 =  99%
Global Time  =    98.484 = 00:01:38.484 = 100%

TEST_JFL2B [+10,91%]
Kernel Time  =    0.890 = 00:00:00.890 =  0%
User Time    =    89.578 = 00:01:29.578 =  98%
Process Time =    90.468 = 00:01:30.468 =  99%
Global Time  =    91.156 = 00:01:31.156 = 100%

TEST_MMX [+13,08%]
Kernel Time  =    0.765 = 00:00:00.765 =  0%
User Time    =    87.500 = 00:01:27.500 =  98%
Process Time =    88.265 = 00:01:28.265 =  99%
Global Time  =    89.047 = 00:01:29.047 = 100%

TEST_MMX-BSR [+16,59%]
Kernel Time  =    0.890 = 00:00:00.890 =  1%
User Time    =    83.812 = 00:01:23.812 =  98%
Process Time =    84.703 = 00:01:24.703 =  99%
Global Time  =    85.234 = 00:01:25.234 = 100%

TEST_MMX-JFL2B [+24,10%]
Kernel Time  =    1.046 = 00:00:01.046 =  1%
User Time    =    76.031 = 00:01:16.031 =  97%
Process Time =    77.078 = 00:01:17.078 =  99%
Global Time  =    77.656 = 00:01:17.656 = 100%
NOTE: TEST_JFL2B and TEST_MMX-JFL2B are version 2 of he-jo JFL2B optimizations (the updated one).

Tests summary for -f -x6 options, all values are positive percentage speedups:
Code: [Select]
            CPU: AHTLON XP 2000+
   TEST NAME    run 1 [%]  run 2 [%]  run 3 [%]  avg [%]
TEST_ORIGINAL      0          0          0           0
TEST_BSR          3,80       3,63       3,82       3,75
TEST_JFL2B       10,73      10,78      10,91      10,81
TEST_MMX         13,08      12,93      13,08      13,03
TEST_MMX-BSR     16,93      16,63      16,59      16,72
TEST_MMX-JFL2B   24,20      24,15      24,10      24,15
So clearly the version 2 of JFL2B optimizations is very fast and combined with MMX reach 24% speedup with -f -x6, maybe on my Celeron this version could be even faster (appropriate tests will be done).

Thanks for your great work he-jo!!!

MMX Optimized WavPack Encoder (for Windows)

Reply #31
Here's my results with P4.
First with -f -x6
Code: [Select]
Release\wavpack.exe -f -x6 Image.wav 
-------------------------------------
Kernel Time  =    0.953 = 00:00:00.953 =  0%
User Time    =  162.578 = 00:02:42.578 =  96%
Process Time =  163.531 = 00:02:43.531 =  96%
Global Time  =  169.109 = 00:02:49.109 = 100%

ReleaseBSR\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    1.125 = 00:00:01.125 =  0%
User Time    =  134.656 = 00:02:14.656 =  95%
Process Time =  135.781 = 00:02:15.781 =  96%
Global Time  =  140.579 = 00:02:20.579 = 100%

ReleaseJFL2B\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    1.000 = 00:00:01.000 =  0%
User Time    =  162.343 = 00:02:42.343 =  96%
Process Time =  163.343 = 00:02:43.343 =  96%
Global Time  =  169.015 = 00:02:49.015 = 100%

ReleaseMMX\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.765 = 00:00:00.765 =  0%
User Time    =  131.343 = 00:02:11.343 =  96%
Process Time =  132.109 = 00:02:12.109 =  96%
Global Time  =  136.797 = 00:02:16.797 = 100%

ReleaseMMX-BSR\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.875 = 00:00:00.875 =  0%
User Time    =  103.859 = 00:01:43.859 =  95%
Process Time =  104.734 = 00:01:44.734 =  96%
Global Time  =  108.515 = 00:01:48.515 = 100%

ReleaseMMX-JFL2B\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    1.031 = 00:00:01.031 =  0%
User Time    =  128.546 = 00:02:08.546 =  95%
Process Time =  129.578 = 00:02:09.578 =  96%
Global Time  =  134.015 = 00:02:14.015 = 100%

And the second test with -h -x
Code: [Select]
Release\wavpack.exe -h -x Image.wav 
-------------------------------------
Kernel Time  =    1.281 = 00:00:01.281 =  0%
User Time    =  776.218 = 00:12:56.218 =  96%
Process Time =  777.500 = 00:12:57.500 =  97%
Global Time  =  800.703 = 00:13:20.703 = 100%

ReleaseBSR\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.312 = 00:00:01.312 =  0%
User Time    =  659.390 = 00:10:59.390 =  96%
Process Time =  660.703 = 00:11:00.703 =  96%
Global Time  =  683.172 = 00:11:23.172 = 100%

ReleaseJFL2B\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.140 = 00:00:01.140 =  0%
User Time    =  762.328 = 00:12:42.328 =  97%
Process Time =  763.468 = 00:12:43.468 =  97%
Global Time  =  784.672 = 00:13:04.672 = 100%

ReleaseMMX\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.187 = 00:00:01.187 =  0%
User Time    =  593.734 = 00:09:53.734 =  97%
Process Time =  594.921 = 00:09:54.921 =  97%
Global Time  =  611.016 = 00:10:11.016 = 100%

ReleaseMMX-BSR\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    0.984 = 00:00:00.984 =  0%
User Time    =  468.406 = 00:07:48.406 =  97%
Process Time =  469.390 = 00:07:49.390 =  97%
Global Time  =  481.750 = 00:08:01.750 = 100%

ReleaseMMX-JFL2B\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.125 = 00:00:01.125 =  0%
User Time    =  578.656 = 00:09:38.656 =  97%
Process Time =  579.781 = 00:09:39.781 =  97%
Global Time  =  595.406 = 00:09:55.406 = 100%

MMX Optimized WavPack Encoder (for Windows)

Reply #32
NOTE: This are old binarys and sources! Use updated binarys and sources from POST #40.
I have added latest full MMX optimization from wp-4.32-jh_mmx.diff.gz but on my tests in was slower (tiny margin) then previous version. Maybe is this due to removal of the unions? The test where done on my athlon machine.

Download sources and new MMX only optimized binary, you can use binarys from post #31 for comparison:
[attachment=2260:attachment]
Test results for -f -x6:
Code: [Select]
TEST_ORIGINAL (Release\wavpack.exe)

Kernel Time  =     0.765 = 00:00:00.765 =   0%
User Time    =   100.781 = 00:01:40.781 =  96%
Process Time =   101.546 = 00:01:41.546 =  97%
Global Time  =   104.187 = 00:01:44.187 = 100%

TEST_MMX_OLD (ReleaseMMX\wavpack.exe)

Kernel Time  =     0.828 = 00:00:00.828 =   0%
User Time    =    87.578 = 00:01:27.578 =  98%
Process Time =    88.406 = 00:01:28.406 =  99%
Global Time  =    89.109 = 00:01:29.109 = 100%

TEST_MMX_FULL (ReleaseMMX\wavpack_MMX_FULL.exe)

Kernel Time  =     0.625 = 00:00:00.625 =   0%
User Time    =    88.421 = 00:01:28.421 =  98%
Process Time =    89.046 = 00:01:29.046 =  99%
Global Time  =    89.703 = 00:01:29.703 = 100%

MMX Optimized WavPack Encoder (for Windows)

Reply #33
[!--sizeo:2--][span style=\"font-size:10pt;line-height:100%\"][!--/sizeo--]NOTE: This are old binarys and sources! Use updated binarys and sources from POST #40.[/size]
Here are fixed binarys! The binarys from previous post have a small bug and you should not use and test them.

Download (sources, binarys - all of them!, test results):
[attachment=2262:attachment]
test_results_small_files.txt:
Code: [Select]
TEST FILES: set of small files suggested by he-jo 
[-f -x6]

TEST_ORIGINAL
Kernel Time  =    0.937 = 00:00:00.937 =  0%
User Time    =  100.953 = 00:01:40.953 =  96%
Process Time =  101.890 = 00:01:41.890 =  97%
Global Time  =  104.656 = 00:01:44.656 = 100%

TEST_MMX [+13,08%]
Kernel Time  =    0.843 = 00:00:00.843 =  0%
User Time    =    87.718 = 00:01:27.718 =  98%
Process Time =    88.562 = 00:01:28.562 =  99%
Global Time  =    89.328 = 00:01:29.328 = 100%

TEST_MMX_FULL [+12,01%]
Kernel Time  =    0.937 = 00:00:00.937 =  1%
User Time    =    88.718 = 00:01:28.718 =  98%
Process Time =    89.656 = 00:01:29.656 =  99%
Global Time  =    90.266 = 00:01:30.266 = 100%

TEST_MMX-BSR [+16,93%]
Kernel Time  =    0.781 = 00:00:00.781 =  0%
User Time    =    83.859 = 00:01:23.859 =  98%
Process Time =    84.640 = 00:01:24.640 =  99%
Global Time  =    85.375 = 00:01:25.375 = 100%

TEST_MMX_FULL-BSR [+15,86%]
Kernel Time  =    0.734 = 00:00:00.734 =  0%
User Time    =    85.000 = 00:01:25.000 =  98%
Process Time =    85.734 = 00:01:25.734 =  99%
Global Time  =    86.468 = 00:01:26.468 = 100%

TEST_MMX-JFL2B [+24,20%]
Kernel Time  =    0.671 = 00:00:00.671 =  0%
User Time    =    76.562 = 00:01:16.562 =  98%
Process Time =    77.234 = 00:01:17.234 =  99%
Global Time  =    77.828 = 00:01:17.828 = 100%

TEST_MMX_FULL-JFL2B [+23,40%]
Kernel Time  =    0.937 = 00:00:00.937 =  1%
User Time    =    77.109 = 00:01:17.109 =  97%
Process Time =    78.046 = 00:01:18.046 =  99%
Global Time  =    78.828 = 00:01:18.828 = 100%

[binary comparison: all result files VALID - no problems here]
test_results_big_file.txt:
Code: [Select]
TEST FILE: 34435676 bytes, 44100 Hz, 16 bits, Stereo
[-f -x6]

TEST_ORG
Kernel Time  =    0.359 = 00:00:00.359 =  1%
User Time    =    31.781 = 00:00:31.781 =  98%
Process Time =    32.140 = 00:00:32.140 =  99%
Global Time  =    32.265 = 00:00:32.265 = 100%

TEST_BSR [+3,26%]
Kernel Time  =    0.250 = 00:00:00.250 =  0%
User Time    =    30.843 = 00:00:30.843 =  98%
Process Time =    31.093 = 00:00:31.093 =  99%
Global Time  =    31.282 = 00:00:31.282 = 100%

TEST_JFL2B [-0,20%]
Kernel Time  =    0.359 = 00:00:00.359 =  1%
User Time    =    31.843 = 00:00:31.843 =  98%
Process Time =    32.203 = 00:00:32.203 =  99%
Global Time  =    32.437 = 00:00:32.437 = 100%

TEST_MMX [+12,64%]
Kernel Time  =    0.312 = 00:00:00.312 =  1%
User Time    =    27.765 = 00:00:27.765 =  98%
Process Time =    28.078 = 00:00:28.078 =  99%
Global Time  =    28.297 = 00:00:28.297 = 100%

TEST_MMX_FULL [+10,55%]
Kernel Time  =    0.328 = 00:00:00.328 =  1%
User Time    =    28.421 = 00:00:28.421 =  98%
Process Time =    28.750 = 00:00:28.750 =  99%
Global Time  =    28.984 = 00:00:28.984 = 100%

TEST_MMX-BSR [+15,80%]
Kernel Time  =    0.359 = 00:00:00.359 =  1%
User Time    =    26.703 = 00:00:26.703 =  98%
Process Time =    27.062 = 00:00:27.062 =  99%
Global Time  =    27.234 = 00:00:27.234 = 100%

TEST_MMX_FULL-BSR [+15,31%]
Kernel Time  =    0.296 = 00:00:00.296 =  1%
User Time    =    26.921 = 00:00:26.921 =  97%
Process Time =    27.218 = 00:00:27.218 =  99%
Global Time  =    27.485 = 00:00:27.485 = 100%

TEST_MMX-JFL2B [+12,40%]
Kernel Time  =    0.406 = 00:00:00.406 =  1%
User Time    =    27.750 = 00:00:27.750 =  97%
Process Time =    28.156 = 00:00:28.156 =  99%
Global Time  =    28.344 = 00:00:28.344 = 100%

TEST_MMX_FULL-JFL2B [+20,47%]
Kernel Time  =    0.218 = 00:00:00.218 =  0%
User Time    =    25.343 = 00:00:25.343 =  98%
Process Time =    25.562 = 00:00:25.562 =  99%
Global Time  =    25.687 = 00:00:25.687 = 100%

[binary comparison: all result files VALID - no problems here]
test_results_big_files.txt:
Code: [Select]
TEST FILES: 13 Tracks, 431891276 bytes, 44100 Hz, 16 bits, Stereo
[-f -x6]

TEST_ORG
Kernel Time  =    2.562 = 00:00:02.562 =  0%
User Time    =  395.937 = 00:06:35.937 =  98%
Process Time =  398.500 = 00:06:38.500 =  98%
Global Time  =  402.797 = 00:06:42.797 = 100%

TEST_MMX_FULL-JFL2B [+22,16%]
Kernel Time  =    2.578 = 00:00:02.578 =  0%
User Time    =  307.609 = 00:05:07.609 =  97%
Process Time =  310.187 = 00:05:10.187 =  98%
Global Time  =  314.406 = 00:05:14.406 = 100%

[binary comparison: all result files VALID - no problems here]
This are very intresting results I think!!! But he-jo has posted already new patch, witch is not included here! The more is to come on monday from me.

NOTE: The MMX_FULL means MMX optimizations + MMX optimizations for negative values in extra2.c, from latest patch by he-jo!

MMX Optimized WavPack Encoder (for Windows)

Reply #34
sorry for offtop, but where can i download "timer.exe"?


MMX Optimized WavPack Encoder (for Windows)

Reply #36
And my P4 tests. It took some time but here they are. -h -x results aren't done yet, but as soon as I have time to do them I will.
-f -x6:
Code: [Select]
Release\wavpack.exe -f -x6 Image.wav 
-------------------------------------
Kernel Time  =    0.796 = 00:00:00.796 =  0%
User Time    =  162.468 = 00:02:42.468 =  95%
Process Time =  163.265 = 00:02:43.265 =  96%
Global Time  =  169.422 = 00:02:49.422 = 100%

ReleaseBSR\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.734 = 00:00:00.734 =  0%
User Time    =  135.187 = 00:02:15.187 =  96%
Process Time =  135.921 = 00:02:15.921 =  96%
Global Time  =  140.687 = 00:02:20.687 = 100%

ReleaseJFL2B\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.859 = 00:00:00.859 =  0%
User Time    =  232.375 = 00:03:52.375 =  96%
Process Time =  233.234 = 00:03:53.234 =  96%
Global Time  =  240.782 = 00:04:00.782 = 100%

ReleaseMMX\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.906 = 00:00:00.906 =  0%
User Time    =  131.484 = 00:02:11.484 =  95%
Process Time =  132.390 = 00:02:12.390 =  96%
Global Time  =  137.078 = 00:02:17.078 = 100%

ReleaseMMX-FULL\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.843 = 00:00:00.843 =  0%
User Time    =  152.578 = 00:02:32.578 =  96%
Process Time =  153.421 = 00:02:33.421 =  96%
Global Time  =  158.657 = 00:02:38.657 = 100%

ReleaseMMX-BSR\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.937 = 00:00:00.937 =  0%
User Time    =  103.750 = 00:01:43.750 =  95%
Process Time =  104.687 = 00:01:44.687 =  96%
Global Time  =  108.312 = 00:01:48.312 = 100%

ReleaseMMX-BSR-FULL\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    1.140 = 00:00:01.140 =  0%
User Time    =  124.578 = 00:02:04.578 =  95%
Process Time =  125.718 = 00:02:05.718 =  96%
Global Time  =  130.078 = 00:02:10.078 = 100%

ReleaseMMX-JFL2B\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.828 = 00:00:00.828 =  0%
User Time    =  200.796 = 00:03:20.796 =  96%
Process Time =  201.625 = 00:03:21.625 =  96%
Global Time  =  208.328 = 00:03:28.328 = 100%

ReleaseMMX-JFL2B-FULL\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    1.015 = 00:00:01.015 =  0%
User Time    =  149.640 = 00:02:29.640 =  96%
Process Time =  150.656 = 00:02:30.656 =  96%
Global Time  =  155.828 = 00:02:35.828 = 100%

Here's the -h -x result.
Code: [Select]
Release\wavpack.exe -h -x Image.wav 
-------------------------------------
Kernel Time  =    1.218 = 00:00:01.218 =  0%
User Time    =  776.515 = 00:12:56.515 =  96%
Process Time =  777.734 = 00:12:57.734 =  97%
Global Time  =  801.062 = 00:13:21.062 = 100%

ReleaseBSR\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.078 = 00:00:01.078 =  0%
User Time    =  651.000 = 00:10:51.000 =  96%
Process Time =  652.078 = 00:10:52.078 =  97%
Global Time  =  671.594 = 00:11:11.594 = 100%

ReleaseJFL2B\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.281 = 00:00:01.281 =  0%
User Time    =  1088.562 = 00:18:08.562 =  96%
Process Time =  1089.843 = 00:18:09.843 =  96%
Global Time  =  1127.016 = 00:18:47.016 = 100%

ReleaseMMX\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.078 = 00:00:01.078 =  0%
User Time    =  593.468 = 00:09:53.468 =  96%
Process Time =  594.546 = 00:09:54.546 =  97%
Global Time  =  611.922 = 00:10:11.922 = 100%

ReleaseMMX-FULL\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.234 = 00:00:01.234 =  0%
User Time    =  698.218 = 00:11:38.218 =  96%
Process Time =  699.453 = 00:11:39.453 =  97%
Global Time  =  720.547 = 00:12:00.547 = 100%

ReleaseMMX-BSR\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.015 = 00:00:01.015 =  0%
User Time    =  470.109 = 00:07:50.109 =  97%
Process Time =  471.125 = 00:07:51.125 =  97%
Global Time  =  484.391 = 00:08:04.391 = 100%

ReleaseMMX-BSR-FULL\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.031 = 00:00:01.031 =  0%
User Time    =  573.562 = 00:09:33.562 =  96%
Process Time =  574.593 = 00:09:34.593 =  96%
Global Time  =  592.516 = 00:09:52.516 = 100%

ReleaseMMX-JFL2B\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.312 = 00:00:01.312 =  0%
User Time    =  902.515 = 00:15:02.515 =  96%
Process Time =  903.828 = 00:15:03.828 =  96%
Global Time  =  931.812 = 00:15:31.812 = 100%

ReleaseMMX-JFL2B-FULL\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.609 = 00:00:01.609 =  0%
User Time    =  682.937 = 00:11:22.937 =  96%
Process Time =  684.546 = 00:11:24.546 =  97%
Global Time  =  705.125 = 00:11:45.125 = 100%

MMX Optimized WavPack Encoder (for Windows)

Reply #37
Ok, there are my results on Athlon 64 X2 4200+ (on WinXP Sp2 32bit)
Sample file ~140Megs. Keys: -f -x6
Code: [Select]
TEST_ORIGINAL
Global Time  =    78.969 = 00:01:18.969 = 100%
TEST_BSR
Global Time  =    73.859 = 00:01:13.859 = 100%
TEST_JFL2B
Global Time  =    65.703 = 00:01:05.703 = 100%
TEST_MMX
Global Time  =    67.125 = 00:01:07.125 = 100%
TEST_MMX-BSR
Global Time  =    61.891 = 00:01:01.891 = 100%
TEST_MMX-JFL2B
Global Time  =    53.782 = 00:00:53.782 = 100%
How about next optimizations for multicore/multithreading  ? Because all process of compressing take only 50% CPU time. And one question - can you place all he-jo samples in one archive file for more easy downloading? (it's so laszy to downloading many little files)

MMX Optimized WavPack Encoder (for Windows)

Reply #38
Just a quick test with the bins in Linux using wine shows the MMX-BSR to be fastest for me on my Athlon-XP using about 23% less time than orig. (MMX-JFL2B takes 18% less time.)

MMX Optimized WavPack Encoder (for Windows)

Reply #39
Sorry for so late reply, but I had lot of work in my paid job.

I have added the newest patch to my builds. Now the MMX code works very nice in MSVC++ without modification. Thanks for that improvement he-jo.

Download latest binarys and sources:
[attachment=2288:attachment]
Test results (samples):
Code: [Select]
TEST FILES: set of small files suggested by he-jo 
[-f -x6]

TEST_ORG

Kernel Time  =    0.796 = 00:00:00.796 =  0%
User Time    =  100.968 = 00:01:40.968 =  98%
Process Time =  101.765 = 00:01:41.765 =  99%
Global Time  =  102.453 = 00:01:42.453 = 100%

TEST_BSR [+3,87%]

Kernel Time  =    0.859 = 00:00:00.859 =  0%
User Time    =    96.968 = 00:01:36.968 =  98%
Process Time =    97.828 = 00:01:37.828 =  99%
Global Time  =    98.703 = 00:01:38.703 = 100%

TEST_JFL2B [+0,68%]

Kernel Time  =    0.750 = 00:00:00.750 =  0%
User Time    =  100.328 = 00:01:40.328 =  98%
Process Time =  101.078 = 00:01:41.078 =  99%
Global Time  =  101.735 = 00:01:41.735 = 100%

TEST_MMX [+12,96%]

Kernel Time  =    1.031 = 00:00:01.031 =  1%
User Time    =    87.546 = 00:01:27.546 =  98%
Process Time =    88.578 = 00:01:28.578 =  99%
Global Time  =    89.203 = 00:01:29.203 = 100%

TEST_MMX_FULL [+12,51%]

Kernel Time  =    0.921 = 00:00:00.921 =  1%
User Time    =    88.109 = 00:01:28.109 =  98%
Process Time =    89.031 = 00:01:29.031 =  99%
Global Time  =    89.812 = 00:01:29.812 = 100%

TEST_MMX-BSR [+16,74%]

Kernel Time  =    0.937 = 00:00:00.937 =  1%
User Time    =    83.796 = 00:01:23.796 =  98%
Process Time =    84.734 = 00:01:24.734 =  99%
Global Time  =    85.328 = 00:01:25.328 = 100%

TEST_MMX_FULL-BSR [+16,04%]

Kernel Time  =    1.140 = 00:00:01.140 =  1%
User Time    =    84.296 = 00:01:24.296 =  97%
Process Time =    85.437 = 00:01:25.437 =  99%
Global Time  =    86.062 = 00:01:26.062 = 100%

TEST_MMX-JFL2B [+13,73%]

Kernel Time  =    0.937 = 00:00:00.937 =  1%
User Time    =    86.859 = 00:01:26.859 =  98%
Process Time =    87.796 = 00:01:27.796 =  99%
Global Time  =    88.515 = 00:01:28.515 = 100%

TEST_MMX_FULL-JFL2B [+22,09%]

Kernel Time  =    1.093 = 00:00:01.093 =  1%
User Time    =    78.187 = 00:01:18.187 =  97%
Process Time =    79.281 = 00:01:19.281 =  99%
Global Time  =    79.922 = 00:01:19.922 = 100%
Test results (one big file):
Code: [Select]
TEST FILE: 34435676 bytes, 44100 Hz, 16 bits, Stereo
[-f -x6]

TEST_ORG

Kernel Time  =    0.281 = 00:00:00.281 =  0%
User Time    =    31.734 = 00:00:31.734 =  98%
Process Time =    32.015 = 00:00:32.015 =  99%
Global Time  =    32.203 = 00:00:32.203 = 100%

TEST_BSR [+3,37%]

Kernel Time  =    0.218 = 00:00:00.218 =  0%
User Time    =    30.718 = 00:00:30.718 =  98%
Process Time =    30.937 = 00:00:30.937 =  99%
Global Time  =    31.125 = 00:00:31.125 = 100%

TEST_JFL2B [+0,10%]

Kernel Time  =    0.265 = 00:00:00.265 =  0%
User Time    =    31.718 = 00:00:31.718 =  98%
Process Time =    31.984 = 00:00:31.984 =  99%
Global Time  =    32.141 = 00:00:32.141 = 100%

TEST_MMX [+11,86%]

Kernel Time  =    0.296 = 00:00:00.296 =  1%
User Time    =    27.921 = 00:00:27.921 =  98%
Process Time =    28.218 = 00:00:28.218 =  99%
Global Time  =    28.312 = 00:00:28.312 = 100%

TEST_MMX_FULL [+11,57%]

Kernel Time  =    0.250 = 00:00:00.250 =  0%
User Time    =    28.062 = 00:00:28.062 =  98%
Process Time =    28.312 = 00:00:28.312 =  99%
Global Time  =    28.547 = 00:00:28.547 = 100%

TEST_MMX-BSR [+15,62%]

Kernel Time  =    0.328 = 00:00:00.328 =  1%
User Time    =    26.687 = 00:00:26.687 =  98%
Process Time =    27.015 = 00:00:27.015 =  99%
Global Time  =    27.203 = 00:00:27.203 = 100%

TEST_MMX_FULL-BSR [+14,69%]

Kernel Time  =    0.265 = 00:00:00.265 =  0%
User Time    =    27.046 = 00:00:27.046 =  98%
Process Time =    27.312 = 00:00:27.312 =  99%
Global Time  =    27.484 = 00:00:27.484 = 100%

TEST_MMX-JFL2B [+12,25%]

Kernel Time  =    0.328 = 00:00:00.328 =  1%
User Time    =    27.765 = 00:00:27.765 =  98%
Process Time =    28.093 = 00:00:28.093 =  99%
Global Time  =    28.266 = 00:00:28.266 = 100%

TEST_MMX_FULL-JFL2B [+21,03%]

Kernel Time  =    0.234 = 00:00:00.234 =  0%
User Time    =    25.046 = 00:00:25.046 =  98%
Process Time =    25.281 = 00:00:25.281 =  99%
Global Time  =    25.437 = 00:00:25.437 = 100%
Test results (album):
Code: [Select]
TEST FILES: 13 Tracks, 431891276 bytes, 44100 Hz, 16 bits, Stereo
[-f -x6]

TEST_ORG

Kernel Time  =    2.828 = 00:00:02.828 =  0%
User Time    =  394.984 = 00:06:34.984 =  98%
Process Time =  397.812 = 00:06:37.812 =  98%
Global Time  =  402.187 = 00:06:42.187 = 100%

TEST_MMX_FULL-JFL2B [+22,68%]

Kernel Time  =    2.906 = 00:00:02.906 =  0%
User Time    =  304.687 = 00:05:04.687 =  51%
Process Time =  307.593 = 00:05:07.593 =  51%
Global Time  =  592.672 = 00:09:52.672 = 100%

MMX Optimized WavPack Encoder (for Windows)

Reply #40
wisodev do you know why the global time for the Test results (album) was so high?
Allegari nihil et allegatum non probare, paria sunt.

MMX Optimized WavPack Encoder (for Windows)

Reply #41
P4 tests -f -x6:
Code: [Select]
Release\wavpack.exe -f -x6 Image.wav 
-------------------------------------
Kernel Time  =    0.906 = 00:00:00.906 =  0%
User Time    =  162.546 = 00:02:42.546 =  95%
Process Time =  163.453 = 00:02:43.453 =  96%
Global Time  =  170.188 = 00:02:50.188 = 100%

ReleaseBSR\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    1.109 = 00:00:01.109 =  0%
User Time    =  134.859 = 00:02:14.859 =  95%
Process Time =  135.968 = 00:02:15.968 =  96%
Global Time  =  141.250 = 00:02:21.250 = 100%

ReleaseJFL2B\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.875 = 00:00:00.875 =  0%
User Time    =  232.390 = 00:03:52.390 =  96%
Process Time =  233.265 = 00:03:53.265 =  96%
Global Time  =  241.109 = 00:04:01.109 = 100%

ReleaseMMX\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.890 = 00:00:00.890 =  0%
User Time    =  131.359 = 00:02:11.359 =  95%
Process Time =  132.250 = 00:02:12.250 =  96%
Global Time  =  137.015 = 00:02:17.015 = 100%

ReleaseMMX-FULL\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.968 = 00:00:00.968 =  0%
User Time    =  147.125 = 00:02:27.125 =  95%
Process Time =  148.093 = 00:02:28.093 =  96%
Global Time  =  153.407 = 00:02:33.407 = 100%

ReleaseMMX-BSR\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.796 = 00:00:00.796 =  0%
User Time    =  103.953 = 00:01:43.953 =  95%
Process Time =  104.750 = 00:01:44.750 =  96%
Global Time  =  108.547 = 00:01:48.547 = 100%

ReleaseMMX-BSR-FULL\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    1.140 = 00:00:01.140 =  0%
User Time    =  119.609 = 00:01:59.609 =  95%
Process Time =  120.750 = 00:02:00.750 =  96%
Global Time  =  125.141 = 00:02:05.141 = 100%

ReleaseMMX-JFL2B\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.781 = 00:00:00.781 =  0%
User Time    =  200.750 = 00:03:20.750 =  96%
Process Time =  201.531 = 00:03:21.531 =  96%
Global Time  =  208.437 = 00:03:28.437 = 100%

ReleaseMMX-JFL2B-FULL\wavpack.exe -f -x6 Image.wav
-------------------------------------
Kernel Time  =    0.781 = 00:00:00.781 =  0%
User Time    =  144.984 = 00:02:24.984 =  96%
Process Time =  145.765 = 00:02:25.765 =  96%
Global Time  =  150.734 = 00:02:30.734 = 100%
-h -x.
Code: [Select]
Release\wavpack.exe -h -x Image.wav 
-------------------------------------
Kernel Time  =    1.484 = 00:00:01.484 =  0%
User Time    =  776.109 = 00:12:56.109 =  96%
Process Time =  777.593 = 00:12:57.593 =  97%
Global Time  =  801.563 = 00:13:21.563 = 100%

ReleaseBSR\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.156 = 00:00:01.156 =  0%
User Time    =  651.531 = 00:10:51.531 =  96%
Process Time =  652.687 = 00:10:52.687 =  97%
Global Time  =  672.766 = 00:11:12.766 = 100%

ReleaseJFL2B\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.421 = 00:00:01.421 =  0%
User Time    =  1087.031 = 00:18:07.031 =  96%
Process Time =  1088.453 = 00:18:08.453 =  97%
Global Time  =  1122.000 = 00:18:42.000 = 100%

ReleaseMMX\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.140 = 00:00:01.140 =  0%
User Time    =  593.046 = 00:09:53.046 =  96%
Process Time =  594.187 = 00:09:54.187 =  97%
Global Time  =  612.360 = 00:10:12.360 = 100%

ReleaseMMX-FULL\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.312 = 00:00:01.312 =  0%
User Time    =  657.312 = 00:10:57.312 =  96%
Process Time =  658.625 = 00:10:58.625 =  97%
Global Time  =  677.937 = 00:11:17.937 = 100%

ReleaseMMX-BSR\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.406 = 00:00:01.406 =  0%
User Time    =  467.984 = 00:07:47.984 =  96%
Process Time =  469.390 = 00:07:49.390 =  97%
Global Time  =  483.093 = 00:08:03.093 = 100%

ReleaseMMX-BSR-FULL\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.265 = 00:00:01.265 =  0%
User Time    =  532.312 = 00:08:52.312 =  96%
Process Time =  533.578 = 00:08:53.578 =  97%
Global Time  =  549.781 = 00:09:09.781 = 100%

ReleaseMMX-JFL2B\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    1.171 = 00:00:01.171 =  0%
User Time    =  902.671 = 00:15:02.671 =  96%
Process Time =  903.843 = 00:15:03.843 =  97%
Global Time  =  931.781 = 00:15:31.781 = 100%

ReleaseMMX-JFL2B-FULL\wavpack.exe -h -x Image.wav
-------------------------------------
Kernel Time  =    0.937 = 00:00:00.937 =  0%
User Time    =  645.062 = 00:10:45.062 =  96%
Process Time =  646.000 = 00:10:46.000 =  97%
Global Time  =  665.437 = 00:11:05.437 = 100%

MMX Optimized WavPack Encoder (for Windows)

Reply #42
wisodev do you know why the global time for the Test results (album) was so high?


I have bin copying output files to other folder to compare them later with original output files, this is done becose I want to know if results are correct. This results in later tests with I/O slowdown. But now I think I should do checksum of files for comparisson.

MMX Optimized WavPack Encoder (for Windows)

Reply #43
Hmm, interesting things, all results with new binaries are little slower:
Code: [Select]
TEST_MMX_FULL
Process Time =    66.640 = 00:01:06.640 =  99%
TEST_MMX-JFL2B
Process Time =    65.625 = 00:01:05.625 =  99%
TEST_MMX_FULL-JFL2B
Process Time =    58.546 = 00:00:58.546 =  99%
I retest with old binaries and get the same results
Code: [Select]
TEST_MMX_FULL-JFL2B
Process Time =    53.796
! What's happend?

 
SimplePortal 1.0.0 RC1 © 2008-2019