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: 64 bit LAME compiles (Read 29956 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

64 bit LAME compiles

hello everyone, I have slight problem to find LAME 64 bit compiles, specially actual 3.98r version.. Any suggestion?

Anyway, is there any reason why ain't 64 bit compiles stored at some common place like RaReWaReS ?
Or doesn't make it sense to compile 64 bit at all ?

thank you

64 bit LAME compiles

Reply #1
hello everyone, I have slight problem to find LAME 64 bit compiles, specially actual 3.98r version.. Any suggestion?

Anyway, is there any reason why ain't 64 bit compiles stored at some common place like RaReWaReS ?
Or doesn't make it sense to compile 64 bit at all ?

thank you


Gabriel put up a 64 bit compile of (I believe) 3.98 (not the latest 3.98.2) here:
http://gabriel.mp3-tech.org/lame/x64/


And there's a bit of discussion of it here:
http://www.hydrogenaudio.org/forums/index....st&p=575937

64 bit LAME compiles

Reply #2
hello everyone, I have slight problem to find LAME 64 bit compiles, specially actual 3.98r version.. Any suggestion?

Anyway, is there any reason why ain't 64 bit compiles stored at some common place like RaReWaReS ?
Or doesn't make it sense to compile 64 bit at all ?

thank you

The reason is quite simple - the current compile is faster.  I ran a test having created a 64 bit compile and it actually ran marginally slower so it seemed somewhat pointless to make it available.

64 bit LAME compiles

Reply #3

hello everyone, I have slight problem to find LAME 64 bit compiles, specially actual 3.98r version.. Any suggestion?

Anyway, is there any reason why ain't 64 bit compiles stored at some common place like RaReWaReS ?
Or doesn't make it sense to compile 64 bit at all ?

thank you

The reason is quite simple - the current compile is faster.  I ran a test having created a 64 bit compile and it actually ran marginally slower so it seemed somewhat pointless to make it available.


John, this is exactly what I expected  Is it possible to make 64 bit compiles available for those who are interested anyway ?

64 bit LAME compiles

Reply #4
John, this is exactly what I expected  Is it possible to make 64 bit compiles available for those who are interested anyway ?


You can get 64-bit LAME compiles at http://lame.bakerweb.biz/. They are built with Visual C++ 2008, but the 64-bit build is about 25% faster than the 32-bit build (even though the 32-bit build uses assembly).

64 bit LAME compiles

Reply #5
Thank you, joebob90, for making the 64-bit LAME compile available.

Unfortunately, I'm not seeing that this 64-bit compile is faster than the 32-bit compile available at RareWares. I tested on a CD-image WAV file produced by EAC. In my first set of tests, the only LAME option I used was -V2. I did three runs where I ran the 64-bit LAME EXE followed by the 32-bit LAME EXE:

Code: [Select]
[C:\Users\George\Downloads]"LAME 64-bit vs. 32-bit Speed Test.bat"
Timer 1 on: 11:32:55a
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding C:\Users\George\Music\Keith Urban - Greatest Hits - 18 Kids - 2007.wav
      to Keith Urban - Greatest Hits - 18 Kids - 2007 (64-bit LAME).mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
173514/173514(100%)|    2:54/    2:54|    2:54/    2:54|  26.028x|    0:00
 32 [  1506] %*
 40 [    7] %
 48 [    7] %
 56 [    7] %
 64 [    24] %
 80 [    67] %
 96 [  109] %
112 [  1452] %*
128 [  7161] %*********
160 [ 39720] %%%%%**********************************************
192 [ 52154] %%%%%%%%%%%%%%****************************************************
224 [ 37175] %%%%%%%%%%**************************************
256 [ 20243] %%%%%%%*******************
320 [ 13882] %%%%%%************
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  204.4      17.8  82.2        90.9  4.9  4.3
Writing LAME Tag...done
ReplayGain: -9.5dB
Timer 1 off: 11:35:49a  Elapsed: 0:02:54.19
Timer 1 on: 11:35:49a
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding C:\Users\George\Music\Keith Urban - Greatest Hits - 18 Kids - 2007.wav
      to Keith Urban - Greatest Hits - 18 Kids - 2007 (32-bit LAME).mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
173514/173514(100%)|    2:40/    2:40|    2:40/    2:40|  28.316x|    0:00
 32 [  1506] %*
 40 [    8] %
 48 [    4] %
 56 [    10] %
 64 [    24] %
 80 [    69] %
 96 [    82] %
112 [  1287] %*
128 [  6711] %********
160 [ 39834] %%%%%**********************************************
192 [ 52536] %%%%%%%%%%%%%*****************************************************
224 [ 37246] %%%%%%%%%%*************************************
256 [ 20314] %%%%%%%*******************
320 [ 13883] %%%%%%************
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  204.7      17.8  82.2        90.9  4.9  4.3
Writing LAME Tag...done
ReplayGain: -9.5dB
Timer 1 off: 11:38:29a  Elapsed: 0:02:40.12

[C:\Users\George\Downloads]"LAME 64-bit vs. 32-bit Speed Test.bat"
Timer 1 on: 11:42:36a
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding C:\Users\George\Music\Keith Urban - Greatest Hits - 18 Kids - 2007.wav
      to Keith Urban - Greatest Hits - 18 Kids - 2007 (64-bit LAME).mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
173514/173514(100%)|    2:49/    2:49|    2:49/    2:49|  26.737x|    0:00
 32 [  1506] %*
 40 [    7] %
 48 [    7] %
 56 [    7] %
 64 [    24] %
 80 [    67] %
 96 [  109] %
112 [  1452] %*
128 [  7161] %*********
160 [ 39720] %%%%%**********************************************
192 [ 52154] %%%%%%%%%%%%%%****************************************************
224 [ 37175] %%%%%%%%%%**************************************
256 [ 20243] %%%%%%%*******************
320 [ 13882] %%%%%%************
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  204.4      17.8  82.2        90.9  4.9  4.3
Writing LAME Tag...done
ReplayGain: -9.5dB
Timer 1 off: 11:45:25a  Elapsed: 0:02:49.61
Timer 1 on: 11:45:25a
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding C:\Users\George\Music\Keith Urban - Greatest Hits - 18 Kids - 2007.wav
      to Keith Urban - Greatest Hits - 18 Kids - 2007 (32-bit LAME).mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
173514/173514(100%)|    2:41/    2:41|    2:41/    2:41|  28.149x|    0:00
 32 [  1506] %*
 40 [    8] %
 48 [    4] %
 56 [    10] %
 64 [    24] %
 80 [    69] %
 96 [    82] %
112 [  1287] %*
128 [  6711] %********
160 [ 39834] %%%%%**********************************************
192 [ 52536] %%%%%%%%%%%%%*****************************************************
224 [ 37246] %%%%%%%%%%*************************************
256 [ 20314] %%%%%%%*******************
320 [ 13883] %%%%%%************
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  204.7      17.8  82.2        90.9  4.9  4.3
Writing LAME Tag...done
ReplayGain: -9.5dB
Timer 1 off: 11:48:06a  Elapsed: 0:02:41.05

[C:\Users\George\Downloads]"LAME 64-bit vs. 32-bit Speed Test.bat"
Timer 1 on: 11:52:05a
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding C:\Users\George\Music\Keith Urban - Greatest Hits - 18 Kids - 2007.wav
      to Keith Urban - Greatest Hits - 18 Kids - 2007 (64-bit LAME).mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
173514/173514(100%)|    2:49/    2:49|    2:49/    2:49|  26.764x|    0:00
 32 [  1506] %*
 40 [    7] %
 48 [    7] %
 56 [    7] %
 64 [    24] %
 80 [    67] %
 96 [  109] %
112 [  1452] %*
128 [  7161] %*********
160 [ 39720] %%%%%**********************************************
192 [ 52154] %%%%%%%%%%%%%%****************************************************
224 [ 37175] %%%%%%%%%%**************************************
256 [ 20243] %%%%%%%*******************
320 [ 13882] %%%%%%************
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  204.4      17.8  82.2        90.9  4.9  4.3
Writing LAME Tag...done
ReplayGain: -9.5dB
Timer 1 off: 11:54:54a  Elapsed: 0:02:49.43
Timer 1 on: 11:54:54a
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding C:\Users\George\Music\Keith Urban - Greatest Hits - 18 Kids - 2007.wav
      to Keith Urban - Greatest Hits - 18 Kids - 2007 (32-bit LAME).mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
173514/173514(100%)|    2:38/    2:38|    2:38/    2:38|  28.553x|    0:00
 32 [  1506] %*
 40 [    8] %
 48 [    4] %
 56 [    10] %
 64 [    24] %
 80 [    69] %
 96 [    82] %
112 [  1287] %*
128 [  6711] %********
160 [ 39834] %%%%%**********************************************
192 [ 52536] %%%%%%%%%%%%%*****************************************************
224 [ 37246] %%%%%%%%%%*************************************
256 [ 20314] %%%%%%%*******************
320 [ 13883] %%%%%%************
-------------------------------------------------------------------------------
  kbps        LR    MS  %    long switch short %
  204.7      17.8  82.2        90.9  4.9  4.3
Writing LAME Tag...done
ReplayGain: -9.5dB
Timer 1 off: 11:57:33a  Elapsed: 0:02:38.78

Summary:
Run 1 2:54 (64-bit) vs. 2:40 (32-bit)
Run 2 2:49 (64-bit) vs. 2:41 (32-bit)
Run 3 2:49 (64-bit) vs. 2:38 (32-bit)

I did another set of 3 runs, but this time I added the -S and --noreplaygain options:

Code: [Select]
[C:\Users\George\Downloads]"LAME 64-bit vs. 32-bit Speed Test (-S --noreplaygain).bat"
Timer 1 on: 12:10:16p
Timer 1 off: 12:12:51p  Elapsed: 0:02:34.21
Timer 1 on: 12:12:51p
Timer 1 off: 12:15:23p  Elapsed: 0:02:32.39

[C:\Users\George\Downloads]"LAME 64-bit vs. 32-bit Speed Test (-S --noreplaygain).bat"
Timer 1 on: 12:18:23p
Timer 1 off: 12:20:59p  Elapsed: 0:02:35.31
Timer 1 on: 12:20:59p
Timer 1 off: 12:23:27p  Elapsed: 0:02:28.02

[C:\Users\George\Downloads]"LAME 64-bit vs. 32-bit Speed Test (-S --noreplaygain).bat"
Timer 1 on: 12:24:49p
Timer 1 off: 12:27:24p  Elapsed: 0:02:34.19
Timer 1 on: 12:27:24p
Timer 1 off: 12:29:58p  Elapsed: 0:02:34.44

[C:\Users\George\Downloads]dir *.mp3

 Volume in drive C is unlabeled      Serial number is ba0b:7232
 Directory of  C:\Users\George\Downloads\*.mp3

02/04/2009  12:29p    115,841,186  Keith Urban - Greatest Hits - 18 Kids - 2007 (32-bit LAME).mp3
02/04/2009  12:27p    115,685,912  Keith Urban - Greatest Hits - 18 Kids - 2007 (64-bit LAME).mp3
    231,527,098 bytes in 2 files and 0 dirs    231,528,448 bytes allocated
158,454,389,760 bytes free

Summary:
Run 4 2:34 (64-bit) vs. 2:32 (32-bit)
Run 5 2:35 (64-bit) vs. 2:28 (32-bit)
Run 6 2:34 (64-bit) vs. 2:34 (32-bit)

In my six test runs, the 64-bit LAME EXE finished faster only once and by just a fraction of a second. All the other runs showed that the 32-bit LAME EXE was a few seconds faster. I didn't run anything else while running these timing tests. I am running Vista Home Premium 64-bit with SP1. I have an Intel Core2 Duo CPU P8400 @ 2.26GHz with 4 GB RAM.

Is there another option I need to specify to make the 64-bit EXE run faster?

By the way, the 64-bit LAME EXE announces itself the same as the 32-bit EXE:
LAME 32bits version 3.98.2

64 bit LAME compiles

Reply #6
To my knowledge, there really isn't anything that can be done.  As john33 said, the 32-bit compile of Lame runs faster than the 64-bit version.  Your results supported this and fell in line with john33's tests.  So just use the 32-bit build since the 64-bit build doesn't offer any benefits.

64 bit LAME compiles

Reply #7
64-bit is only faster for applications that use really large numbers (larger than 2^32). On a 32-bit system such numbers need to be represented in memory with multiple addresses, and doing math on them is rather slow. On 64-bit systems they can be stored in a single location and math can be done on them natively by the processor.

In LAME's case, there's no real benefit. 64-bit isn't magically faster.

64 bit LAME compiles

Reply #8
... the 64-bit build is about 25% faster than the 32-bit build (even though the 32-bit build uses assembly).


joebob90 said his 64-bit build is about 25% faster than a 32-bit build (his own 32-bit build?). How did he get it to run about 25% faster?

64 bit LAME compiles

Reply #9
joebob90 said his 64-bit build is about 25% faster than a 32-bit build (his own 32-bit build?). How did he get it to run about 25% faster?
He got it to run 25% faster than his 32-bit build, but not john33's 32-bit build, I'm guessing. Trust john33. He knows what he's doing.

64 bit LAME compiles

Reply #10
Gabriel said earlier that he got his 64-bit LAME 3.98 encoder to run 20% faster than his 32-bit compile (both using the VC8 compiler). He even said his 64-bit encoder is the one he uses most of the time:

[a href='index.php?act=findpost&pid=452988']http://www.hydrogenaudio.org/forums/index.php?showtopic=50578&view=findpost&p=452988[/a]

So Gabriel's results were similar to joebob90's 25%.

64 bit LAME compiles

Reply #11
Gabriel said earlier that he got his 64-bit LAME 3.98 encoder to run 20% faster than his 32-bit compile (both using the VC8 compiler). He even said his 64-bit encoder is the one he uses most of the time:

[a href='index.php?act=findpost&pid=452988']http://www.hydrogenaudio.org/forums/index.php?showtopic=50578&view=findpost&p=452988[/a]

So Gabriel's results were similar to joebob90's 25%.

True, but Gabriel doesn't use the Intel compiler.

64 bit LAME compiles

Reply #12
BTW, adding "/arch:SSE /fp:fast" to LAME options increases speed of MSVC8 compiled executables.

64 bit LAME compiles

Reply #13
True, but Gabriel doesn't use the Intel compiler.


You don't use the Intel compiler for producing 64bit output either.   
Am I wrong?

I think the latest versions of the Intel compiler (>= 10.1.020) support 64bit code. 

64 bit LAME compiles

Reply #14
True, but Gabriel doesn't use the Intel compiler.


You don't use the Intel compiler for producing 64bit output either.   
Am I wrong?

I think the latest versions of the Intel compiler (>= 10.1.020) support 64bit code. 

My 3.98.2 64 bit compile is produced using VC8 and Intel 9.1 with 64 bit code support.

64 bit LAME compiles

Reply #15
My 3.98.2 64 bit compile is produced using VC8 and Intel 9.1 with 64 bit code support.


Not with ICL 10.1 like the Win32 compiles?  Available for a test?
Zune 80, Tak -p4 audio library, Lossless=Choice

64 bit LAME compiles

Reply #16
John, this is exactly what I expected  Is it possible to make 64 bit compiles available for those who are interested anyway ?


You can get 64-bit LAME compiles at http://lame.bakerweb.biz/. They are built with Visual C++ 2008, but the 64-bit build is about 25% faster than the 32-bit build (even though the 32-bit build uses assembly).


Thank you.

64 bit LAME compiles

Reply #17
I finally got around to producing and testing 64 bit Intel 11.0 compiles.

The fastest of them is around 10% faster, in my testing, than the current Win32 compile on Rarewares. 

Currently, this is a 3.99.a1 compile of the .exe only and you download it here: http://www.rarewares.org/files/mp3/lame3.99.a1-64.zip

If there is interest, I can produce a similar compile for 3.98.2.

64 bit LAME compiles

Reply #18
I finally got around to producing and testing 64 bit Intel 11.0 compiles.
If there is interest, I can produce a similar compile for 3.98.2.

That would be great. 


64 bit LAME compiles

Reply #20
Well, that's kind of bizarre!! The comparable 64 bit compile of 3.98.2 is about 7% slower than the compile currently on Rarewares! Still want it?

64 bit LAME compiles

Reply #21
I don't see the use of this discussion, unless the code is specifically programmed to take advantage of larger registers etc, there is no reason that the 64 compile would run faster than the 32 bit compile... Don't forget that the only difference in the way numbers are treated in the Win64 model is that pointers are twice the width (as compared to 32 bit)... So without taking any other effects (like is the compiler really the same etc...) into account, the code would run slower, due to more memory overhead... the numbers are treated is exactly the same... The only MicroShaft objective into going into 64bit was (and is) to enable addressing of memory over 4GB without resorting to tricks...

64 bit LAME compiles

Reply #22
Compiler can use more general-purpose registers and SSE registers with 64 bit compiles.

64 bit LAME compiles

Reply #23
Sort of off-topic, but if I get a new 64-bit computer, does that mean I'll have problems running audio encoders that worked on a 32-bit system?