Best CPU for programming?

Felecha

Golden Member
Sep 24, 2000
1,434
0
0
I'm looking to build my first computer, and I'm trying to do that choice between Pentium and AMD. I plan to get into the 800 range. I'm still very impressed by my experience when I got my present computer built for me by a local guy. Here's the story.

I was designing my new house, using one of those design-your-own-house programs, and the old 486 was struggling with the rendering of the 3D images, 2 minutes or so wait time. It was time for a new computer anyway, and I was listening to sales people saying -- "Hey, get this Pentium 200 MMX, it's specially made for graphics stuff like that." The local guy, who seemed to really be a whiz, said, "Nah, get a Pentium Pro instead. The MMX is for game stuff, moving graphics. What you're doing is a raw number-crunching thing for which the Pro's architecture will actually do it better."

I took his advice, and found my wait times dropping to 10 to 15 seconds. Great improvement to my life at that time. I also got a chance to try a test, putting the exact same design things on a 200MMX and rendering them -- 40 to 45 seconds for the identical tasks. I was extremely impressed by that guy's advice and put it in my pocket -- remember that there might be reasons of chip architecture that will matter to certain applications.

So -- now I'm enrolled at the local Tech College, in a course for Java and C++ programming. Even with rather simple programs, I'm finding tedious wait times while my programs compile. Also, the old hard drive, 2.3GB, that seemed so vast and fast 3 years ago, is filling up at an alarming rate. I figure that if I'm going to get into this for real, it's time for a new machine, and why not get one that's closer to the high end and be really happy with it for a long time?

So, I read here and there the debated points of Pentium v. Athlon, and I wonder if there's anything special about programming applications that one chip would do better than the other? I read that there are indeed differences in certain gaming tasks, so the question is a real one for me. Anyone want to jump in?

Thanks.
 

hans007

Lifer
Feb 1, 2000
20,212
17
81
if you aren't compiling say.. quake3, you should be able to do with either of those, a 400mhz system would be enough for all college work. You might need more ram, especially if you are doing visual studio or something like that.
 

Felecha

Golden Member
Sep 24, 2000
1,434
0
0
Indeed, part of what has alarmed me has been the specs of the programs.

The professor urged us to look into Visual Studio at the Academic discount -- hey, the whole thing for under $300 at some sites. But I read that it takes something like 800 mb of HD, and recommended 128 RAM minimum (I've got 96 on mine now, and that's always been comfortable. Lordy -- a single application that recommends a minimum of 128? What kind of world am I looking to enter here?) So I wondered aboutit -- not wanting to find out later that my choices could have been better if I had only known.

Thanks for the reply
 

sciencewhiz

Diamond Member
Jun 30, 2000
5,885
8
81
There isn't too much of a difference between the Athlon (Tbird) and the PIII. There defineltly will not be a HUGE increase in speed between the two. Almost all real-world benchmarks that I have seen have placed the processors within 10% of each other. When Dr. Tom did his review of the 1 ghz Tbird, one of the test he did was compile the linux kernal. The results are here. In this case, the 1ghz PIII was 5% behind the 1ghz Tbird.

It is possible that your compiler is heavily optimized for an Intel chip. If this is the case, you will see a large increase in speed if you get the PIII.

I would personally get the Intel chip just because of the possibility of compiler optimizations, but I know that most of the people here push AMDs. In reality you aren't going to see much of a difference.

Also make sure that whatever system you get has at least 256mb of ram.

edit: you posted again while I was writing. I use visual studio at my school on PII 350s with 128mb of ram and I would even more strongly recommend that you get 256mb.
 

Felecha

Golden Member
Sep 24, 2000
1,434
0
0
This is news to me that a compiler would be optimized for a particluar chip. Anything more you can tell me? In the real world of programming for a living, are there compilers that will be the standard? I understand from class that Visual C++ is the compiler of choice for C++. Others for other things?

Of course, I have to keep reminding myself that I spend a LOT more time writing the code than compiling it. If there's not really going to be a big difference, I shouldn't worry too much. But there's always that itch when you want to check the code you just wrote and it spends 10 seconds while you sit there wiggling with anticipation -- come one, come on, let's go.....

The AMD does seem less expensive, $223 vs $290 at the site I've been checking.
 

sciencewhiz

Diamond Member
Jun 30, 2000
5,885
8
81
I just wrote you a nice long reply and then clicked the wrong button and now it is gone. :(

Here is a synopsis:

It is just specualtion on my part that a compiler might be optimized to compile faster on an Intel chip. Intel does expend a lot of resources making sure that compilers output code optimized of Intel chips, though. If compilers are optimized you 10 second compile migh go down to 7-8 seconds. Otherwise you won't see a speed difference between AMD and Intel.

Visual studio isn't the best set of compilers, but it is the industry standard. Just like windows isn't the best OS, but you get around without using windows.

actually, I think this time my message is clearer:)
 

rigor3

Banned
Sep 24, 2000
118
0
0
You should also consider the compiler optimizes the resultant code for the processor and the debugger as well, so running/testing/debugging the app will be faster for such said optimizations. Until recently, there haven't been much code optimization for the amd chips, that might be different now.
 

Felecha

Golden Member
Sep 24, 2000
1,434
0
0
Where can I go to get more info on this? Optimization is a word in the English language, with which I'm fairly comfortable. Programming languages are rather new still. What would optimization mean in code terms? Does a specific compiler have tricks for creating the executables that would differ from what another compiler did? The exe from one would not be the same exe as from another? I guess I have presumed that if I write code in C++ all compilers would turn out identical exe's. Are the architectures of the processors different in ways that compilers would be written aimed at them? That's what you guys seem to be saying. (A pretty dumb question, I know, since my original question here was just that -- are there differences that matter? -- duh...)

Anyway, I'd hate to sink the money into a beautiful machine that I found out later lacked something I should have known about.

I'm definitely going to run this one by the teacher, who's been an engineer and programmer for 40 years now.
 

rigor2

Banned
Sep 18, 2000
183
0
0
yes compilers produce code optimized for a certain cpu.

Given microsoft, you will probably get intel optimized code.

In linux, you can provide specific command line paramater to optimize for:

386
486
586
686 (ppro)
penitum II
etc

The compiler itself was probably compiled for a specific cpu, Your operating system is probably compiled optimized for a specific cpu.

IE. Fortran for pentium 3 makes code about 20% faster to run on coppermine chips than amd products.

however theres a fortran optimized for amd chips which makes the code run 20% faster on amd chips (and possibly slower on intel chips).

Consider the destination platform when choosing the compiler.
 

br0wn

Senior member
Jun 22, 2000
572
0
0
that's true. Optimization is targetted onto specific architectures.
I'm not sure which architecture have better optimization though
(AMD or Intel).

Optimization in compiler means that the compiler will produce
better/more optimized code (removing unnecessary instructions)
for the same program.

Consider that from high-level language (C, C++, Java, ...), the
compiler will produce assembly language. This conversion usually
generate alot (80%-90%) of junk code, like loading the same memory
address 10x (while you can shrink this to 1 instruction),
or lots of instructions that don't contribute to the result
(why do the compiler do this ? because it is easy to detect
this type of instructions in the optimization phase and it makes
the compiler simpler and cleaner, no need to worry about specific
case when generating assembly code).

Thus an optimizer can find these types of instructions and
eliminate them. You probably will surprise how good
this optimization is, some can even eliminate the total program
if the program is doing nothing.
Most optimizer in average reduce the size original code to about
10-25% (this is around quadruple speedup). You can't believe
there are so many junks instructions in the unoptimized code.

 

Brig

Member
Aug 24, 2000
73
0
0
Felecha

Here's a reference for you. Don't know if you're familiar with them or not. Good write-ups on the Intel SIMD instructions, and a warehouse of knowledge regarding all things C++, programming, compilers, etc. Might want to put your question on their board, too. Hope it helps.



DDJ