# Encryption/Compression CPU



## Archibald Ironfist (Dec 5, 2008)

Question.  What would be a good choice for an AMD AM2/AM2+ processor for the following:

I am testing a new Compression algorythm that is at present insanely slow, and need some significant CPU power to ramp it up.  At present it can't utilize multiple cores, so I need something that gives the best bang-per-core in general.

At present, it's processing at about 4 KB/s.  (Most commercial formats like Zip, RAR, etc. are 250-350 KB/s)

It's a rather promising project, but there's just no way I can reasonably wait on this and make any progress.  So, i've decided to upgrade CPUs to help testing come along by speeding up the time to actually finish each stage of testing.

(It's also using 1536 MB of RAM.  This is some serious compression we're trying here.)



Sadly, i'm not as familiar with which CPUs would be top pick for this sort of thing, and don't want to really buy a whole new system.


----------



## mrredfox (Dec 5, 2008)

depends on the efficency of your motherboard, AMD's are usually good for efficency, also go more for dual core than any other core as the efficencey compared to say a quad core is a lot higher in a dual core, also have you tried overclocking it as much as you can?


----------



## Archibald Ironfist (Dec 5, 2008)

Overclocking really isn't an option.  I'm looking for a CPU with appropriate instruction sets and internal design to maximize on a CPU-intensive task such as compression.  A business solution, not a gaming solution.

That's all.


----------



## net-cat (Dec 5, 2008)

I dunno. Opteron, maybe? (Not sure if they make AM2 Opterons, though. Might have to go with a server board.)

You targeting x86 or AMD64?


----------



## Archibald Ironfist (Dec 5, 2008)

As said, AMD, Socket AM2/AM2+.


----------



## Archibald Ironfist (Dec 5, 2008)

Also, the system dual boots Ubuntu and Windows XP.  Dunno if that's any help.


----------



## net-cat (Dec 5, 2008)

To amend my previous post, yes. They _do_ make AM2 Opterons.

http://www.newegg.com/Product/Product.aspx?Item=N82E16819105133

Board might need a BIOS update, though.


----------



## Archibald Ironfist (Dec 5, 2008)

Very nice!

Still, will this outperform the normal cores?  Like the triple and quad core Phenoms and such?


----------



## Archibald Ironfist (Dec 5, 2008)

Double post


----------



## Runefox (Dec 5, 2008)

Yes, yes they will, typically. Not sure about the Phenoms - They'd have better multithreaded performance, but per-thread would likely be faster on the Opterons, specifically for this kind of number crunching.

Since the app isn't multi-threaded, the Opteron would be the best choice if you can find (and spring for) them.


----------



## net-cat (Dec 5, 2008)

Any of the recent cores will perform about the same at the same clock speeds.

With Quad-Core, the trade off is you get more cores at the expense of clock speed. For your stated application, though, it seems like you'd benefit from a higher clock speed more than you would with more cores. Just make sure your motherboard can actually support Opteron, though.

You targeting 32 bit, 64 bit or both?


----------



## Archibald Ironfist (Dec 5, 2008)

Both, though the code doesn't make any special utilization for either.  Any x86 CPU will theoretically do fine.


----------



## CyberFoxx (Dec 5, 2008)

Um, what kind of data are you compressing and what kind of compression are you doing? Audio? Text? Binary? Lossy? Lossless?
Are you dealing with integers only or floating point? Intel has been historically faster for integers, AMD for floating point.
Will you be using x86 ASM? MMX? MMX2? SSE? SSE2? PNI? 3DNow? SSSE3?

It's hard to recommend a CPU without knowing the details of the task at hand. It's like asking "I need to move some stuff from one house to another, what vehicle should I use?" You could just rent a transport truck, but that'd be overkill if you are just moving a table and two chairs.


----------



## net-cat (Dec 5, 2008)

CyberFoxx said:


> It's hard to recommend a CPU without knowing the details of the task at hand. It's like asking "I need to move some stuff from one house to another, what vehicle should I use?" You could just rent a transport truck, but that'd be overkill if you are just moving a table and two chairs.


Actually, it's easy. He's replacing his CPU, and he needs an AM2/AM2+ CPU with a high clock speed.

Kind of limits your choices.


----------



## Archibald Ironfist (Dec 5, 2008)

Answer:


All of the above, except the instruction sets.  In which case, none of the above.


----------



## Pi (Dec 6, 2008)

Sounds like you need to fix your algorithm.


----------



## Archibald Ironfist (Dec 6, 2008)

Oh, that sure is a helpful suggestion.  Let's just ask everyone who's doing an alpha test of a new program to just stop and quit entirely, because you know, no software can actually be made in intermediary stages.  It absolutely must be completed beginning to end without testing or steps of progress.

Yeah, real great advice.  I bet you're just an awesome programmer by comparison, eh?


----------



## Archibald Ironfist (Dec 6, 2008)

I mean, DUH it's going to be abnormally slow.  We're making sure the darn thing >works< right now, not trying to make it fast.  That comes later after we've thoroughly ensured functionality.

After all, all the speed in the world doesn't matter when it only dictates how fast you crash.


----------

