Productivity Tip: Upgrade Your Pentium 4

It’s quite difficult to compare such things, because you have to compare compilation speed as well as benchmark the output, as well. I’m happy to disable LTCG and full optimization for standard compiles, but for release I’ll spend a half-hour building with ICL if necessary. (Although it doesn’t take that long, it also doesn’t help all that much in most cases.) GCC’s been getting slower as its full optimization improves, too, from what I’ve seen. It’s a tricky tradeoff!

let me tell you , my pentium 3 with 256mb ram, way out performs my celeron D with 512mb ram

No way!

That’s not right.

Telos,
I FEEL your pain - getting this POS that I’m working on upgraded - finnaly getting up to 2 gig - the think is, by the end of the year it’s supposed to be replaced. Company is on a 3-4 year cycle. I try and tell them that a 3 yo pc for a developer is so slow as to be painful, but

For that matter, I ended up buying my own copy of RefactorPro, and my own copy of CC.net, because the boss shells out for the MSDN and that’s it (and took 5 years of arguing to get him to do that - before that it was “You need VB.NET - you GET VB.NET” - he didn’t want to
hear that under the Corp licensing agreement, it was cheaper to get the MSDN

Captcha - Orange (aren’t you glad I didn’t say banana)

Linkback at
http://kg2vslife.blogspot.com/2007/05/programmer-productivity.html

@Tim:

“One of my big bugbears with languages in the C family (C and C++) is their heavy reliance on files - source files that include header files that generally require other header files etc. You can have the fastest CPU in the world with a ridiculous amount of memory and you’re still massively hampered by file access times. Even when using the trick of #ifdef ___BLAH_INCLUDED, while it does cut down on the time taken to parse the file, still requires that the file be opened first (in modern systems this is by far the most significant time issue).”

Not sure about the MS compiler, but GCC and SunPro compilers track which includes have already been read for each compilation unit. In other words, no multiple opening of each header. For compilers that don’t do this, you can wrap each include statement in preprocessor directives:

#ifndef WINGNUT_H
#include “wingnut.h”
#endif

And do the regular ifdef guards in the header:

#ifndef WINGNUT_H
#define WINGNUT_H

#endif // !WINGNUT_H

This was recommended in one of the most boring programming books I’ve ever read, “Large Scale C++ Development” by Lakos. If you can keep your eyelids open for long enough then it imparts some interesting information, but much of it has been obsoleted by things like C++ namespaces.

Jake,

I’m not surprised that you got more of a (perceived and/or real) speedup by increasing RAM from 512MB to 1.5GB than upgrading a Pentium M to a Core Duo. The Pentium M is derived from the Pentium 3 (with the bus interface and a few new instructions from the P4) and the Core CPUs are derived from the Pentium M. Unless you upgraded significantly on clock speed going from a P-M to a Core Duo, I wouldn’t expect a huge improvement except for tasks that can effectively use both cores of the Duo. If you had upgraded from a Mobile Pentium 4 to a Core Duo, you would likely have seen a much larger difference. In your case, RAM would likely help more, especially if you’re working with large programs.

A side note for anyone running 16-bit code, the Pentium M and Core Duo are faster (clock for clock) than a Core2 Duo at running 16-bit code. It’s not a huge difference, but it’s around 15%. It’s quickly becoming a moot point as the Core2 CPUs are rapidly replacing the Pentium M and Core CPUs. For 16-bit code, the P-M/Core/Core2 CPUs blow the P4 completely out of the race. Although I haven’t had a modern AMD CPU to test, I suspect they also perform well on 16-bit code. One of these days, 16-bit code will be dead, but there are still a lot of legacy in-house DOS/Win3x apps running out there.

The P4 is and always was a dead end. The only reason Intel was able to keep the P4 close to AMD is because their process technology allowed them to move to outrageous clock speeds, and even then, you had to use 32-bit code optimized for the P4 to be competitive.

I avoided the P4 for as long as possible, then finally bought a Pentium D 820 based machine for a good price a little under 2 years ago. I was fortunately able to sell that to one of my clients about 6 months ago, recovering most of my money. I purchased a Core2 Duo to replace that machine.

As someone else noted, benchmarking to find out where the bottlenecks are is the best way to determine what upgrade will make the most difference for you. Unfortunately, unless you have multiple different machines and/or spare parts around to try different combinations, you’re still guessing.

I got a Pentium D machine from Dell a little while back thinking “yeah all right! 64-bit! dual core! this is going to be awesome!” But as it turns out, the fool thing CRAWLS. So I’m feeling you on this. Thanks for recommending some upgrades I can look into.

Don’t know about the new multi-core, 64-bit machines, but my Xeon desk box is significantly faster than the P4 box target that I occasionally build/debug on.

@yossi

“my pentium 3 with 256mb ram, way out performs my celeron D with 512mb ram”

haha me too… celerons are so crippled they’re basically useless. Especially now that ‘office applications’ include working with the graphics and such that celerons can’t handle

not to mention web browsing

The P4 sucks. Plain and simple. It’s deep pipelining killed it. It was a bit of a gamble by Intel and they lost. Thank goodness their mobile division was around to provide an alternative.

Well gee. I was just “upgraded” to a P4 and I’m expected to be thankful to be granted this boon. After all it’s better than the Celeron box they hauled away.

Be glad you don’t work in a large shop where Soviet-style central planning leaves machines warehoused for 2 years before the box jockeys get off their duffs and deploy them.

Well gee. I was just upgraded to a P4 and I’m expected to be thankful to be granted this boon. After all it’s better than the Celeron box they hauled away.
It is better, but yep you are still lagging behind the latest.

If you’re running a Pentium 4 CPU-- even a fast 3.4 GHz+ dual-core model-- you could more than double your performance by upgrading to a middle-of-the-road Core 2 Duo CPU.
I hope someone can create an adapter to allow plugging in Core 2s into Socket 775 Pentium 4 motherboards.

From http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2795p=19:
In one day, Intel has made its entire Pentium D lineup of processors obsolete. Intel’s Core 2 processors offer the sort of next-generation micro-architecture performance leap that we honestly haven’t seen from Intel since the introduction of the P6.

The fastest possible Pentium 4 is nearly 50 percent slower at compilation than a midrange Athlon 64 or Core 2 Duo CPU. But wait! It gets worse

I was laughing at this sentence a lot! Text author, browse for more benchmarks and see how stupid you seem here!

I’ve been looking at listed Pentium M models running socket 479 at a bus of 400 for my D550 (HAHAHA Funny to most of you, I’m sure) but it actually scored a Benchmark on it’s best day of 247. Right now I have a Dothan 1.7 2mb L2 Cache socket 479… Is the biggest I can get a 2.1 or is it possible to get a Dual Core. The issue with a Dual Core, even at a 512 cache, that’s only half the buffer rate of my 1.7 M… Anyone got an answer as to what the best ( 2mb cache with highest cpu freq.) is that I can get?

Als getting a fast drive also helps. I recently switched over to WD Raptor drives and I noticed a dramatic change in performance. Now if only WD would bring out Raptors in capacties greater than 160GB.