64 bit Handbrake faster in 32 bit mode

Discussion in 'Mac Apps and Mac App Store' started by mtgilbert, Oct 2, 2009.

  1. mtgilbert macrumors newbie

    Oct 2, 2009
    I found this odd: I have the most recent versions of Handbrake and VLC, both in the 64 bit build. When I boot my MacBook Pro (June, 2009, and running SL 10.6.1 with 4 GB of RAM) in 32 bit mode, handbrake encodes video about 10% FASTER than when I boot in 64 bit mode! How can this be? I would have thought that running the Mac in 64 bit mode would run 64 bit applications faster.

    Confused in NYC
  2. rhett7660 macrumors G4


    Jan 9, 2008
    Sunny, Southern California
    How do you know it is 10% faster? Do you have some data to back this up? If so please post the data.
  3. AAPLaday Guest


    Aug 6, 2008
    Manchester UK
    Hmm this is interesting. Please post more info please like rhett7660 said :)
  4. mtgilbert thread starter macrumors newbie

    Oct 2, 2009
    In 32 bit mode, the average frame rate (according to Handbrake itself) was about 60 fps, while in 64 bit mode is was only about 55 fps. I did not actually time it, but the "time remaining" reading corroborated these numbers.
  5. mtgilbert thread starter macrumors newbie

    Oct 2, 2009
    I should add that I also did this while booted off my Firewire HD. As expected, it encoded faster (my internal HD is only 5400 rpm) but the relative difference in the numbers between 32 and 64 bit was the same. Please try it yourselves and see what you get.
  6. alangsam macrumors newbie

    Sep 18, 2009
    ypu should time it with a stopwatch

    the time remaining info is notoriously innacurate as its not total elapsed time its time left. Also the Handbrake 64 bit is not stable code at this point so i cant see it ready for benchmarking against the older 32 bit code.

  7. Amdahl macrumors 65816

    Jul 28, 2004
    There is a speed penalty for running 64-bit, unless the code being run gains enough from AMD64 (vs. i386) to offset the penalty. The kernel generally does not do anything that would offset the penalty in the kernel, and that will bleed through to the apps.

    What I would consider more interesting is the comparison of your numbers for 64-bit Handbrake vs. 32-bit Handbrake.

    Balderdash. 64-bit code is ready for benchmarking against the 32-bit version as soon as you are done recompiling it. The only exception is if you have an app that has assembly sections. Since Handbrake is now offered in 64-bit build, by definition, any of those assembly sections are now transferred to 64-bit.

    Whether it is stable at that point (e.g., undiscovered 32-bit to 64-bit bugs), is irrelevant.
  8. mtgilbert thread starter macrumors newbie

    Oct 2, 2009
    Well, I used a stopwatch and found that I had been a bit too trusting of the progress indicators (frame rate and ETA). The times turned out to be pretty close to indistinguishable. This leaves the question: Why would those indicators be so different (10% off from one another) if the total encode time is actually the same?

    The other possibility is that I'm too trusting of my stopwatch....
  9. jbuk macrumors regular

    Jun 8, 2009
    x264 (the encoder behind the video portion of HandBrake) has a lot of assembly in it, and I don't know how much that supports 64-bit yet, so that might have something to do with it.
  10. Amdahl macrumors 65816

    Jul 28, 2004
    Ipso facto, if it is a 64-bit binary, whatever is running is 64-bit. ffmpeg supports AMD64, and x264 itself has had AMD64 patches since 2005.

Share This Page