Multicore vs. single core performance

Support for HandBrake on Linux, Solaris, and other Unix-like platforms
Forum rules
An Activity Log is required for support requests. Please read How-to get an activity log? for details on how and why this should be provided.
Post Reply
maino82
Posts: 4
Joined: Thu Oct 23, 2008 3:06 am

Multicore vs. single core performance

Post by maino82 »

A little background info... I have both a quad core phenom 2.3ghz machine that is about 6 months old with 4 gigs of ram and a single core athlon 64 2.2ghz machine that's about 3-4 years old with 2 gigs of ram, both running ubuntu (the quad core is 8.04 and the single core is 8.10 currently). I'm using SVN for the quad core and the prepackaged 0.9.3 debs on the single core. I also have a dual core turion 1.6ghz laptop that has 2 gigs of ram and is running 8.04 and the SVN build.

I would expect that while the quad core certainly won't be 4x as fast encoding as the single core, I should at least see some performance gain, but I'm not seeing any difference in encoding time. In fact, using the exact same settings for x264 encoding I am seeing the single core encode slightly faster (by about 20-30 minutes in a 5 or 6-hour encode). The laptop takes about 2-3 hours longer than the quad core does to encode, which is not unexpected. I'm extremely confused as to why this might be and was wondering if anyone had run into any similar situations while encoding? I've checked the task manager in gnome as well as htop and both indicate that all 4 cores are being utilized at greater than 90% on the quad core machine and dual core machine. Is it a difference between SVN and the 0.9.3 build? Is there an option I need to check somewhere to more efficiently make use of my multicore machines?

The encoding setting I'm using are the following (options not mentioned are off/default):
Output container: AVI
De-Comb: yes
Video Codec: x264
Two-pass encoding: on
Turbo first pass: on
Predetermined file size: 2000mb
Audio: MP3 (lame)
Audio Bitrate: 160
Reference frames: 2
B-frames: 2
Motion estimation method: uneven hexagon
Motion estimation range: 32
Motion estimation Sub-pixel method: 6
CABAC entropy encoding: on

I realize that since I'm running different versions of Ubuntu and different versions of Handbrake that I'm not exactly comparing apples to apples here, and I'm not really expecting a solution, but I was more curious as to why my clunky old single core machine was performing the exact same or better than my shiny new quad core machine and thought I'd come to the experts to see what thoughts you all might have.

Thanks and Merry Christmas, Happy Hanukkah, Happy New Year, Happy Kwanza, or Merry whatever-you-celebrate!!!

Regards,
Dave
megabyteme
Posts: 33
Joined: Fri May 23, 2008 12:27 am

Re: Multicore vs. single core performance

Post by megabyteme »

I'm not the guy that iss going to answer your question, BUT I will tell you this probably won't get answered without some activity logs.
maino82
Posts: 4
Joined: Thu Oct 23, 2008 3:06 am

Re: Multicore vs. single core performance

Post by maino82 »

I'm not looking for someone to fix it... It's most likely some hardware config problem on my end anyway. I was just looking for some anecdotal evidence from others on the forum to see if they've had similar experiences.
jeffcobb
Posts: 31
Joined: Thu Jan 15, 2009 3:33 am

Re: Multicore vs. single core performance

Post by jeffcobb »

Thats interesting because I have a Phenom, several dual-cores and a few single-cores. The dual-cores all seem to be nearly 40-60% faster than the single-cores. Now the Phenom rips at single speed BUT is running a non-SMP etch so HB only sees one proc. I have also noticed that 64 bit versus 32 yields a bit of a difference as well.
zreed20
Posts: 4
Joined: Mon Jul 07, 2008 2:19 pm

Re: Multicore vs. single core performance

Post by zreed20 »

Did you compile with the newest version of yasm on your quad core machine? If not handbrake will not be using a HUGE portion of your processors capabilities. Without a log it's hard to venture a guess as to the nature of your problem. You would need to do it like this...

Code: Select all

cd ~/
wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.1.tar.gz
tar xzvf yasm-0.7.1.tar.gz
cd yasm-0.7.1
./configure
make
make install
cd ..
rm -rf yasm*
Then recompile Handbrake with the newer Yasm assembler...
You can either svn update your Handbrake directory, or just checkout the latest trunk version again like this.

Code: Select all

svn co svn://handbrake.m0k.org/HandBrake/trunk HandBrake
cd HandBrake/
./configure && jam
Hope that helps.
Post Reply