Moving from the Celeron machine I just built, to the Pentium E2180 machine, and there is very little difference really. Updating and installation takes about the amount of time on both, so simply saying avoiding the Celeron isn't accurate.
I was referring to Pentium 4/Pentium D, not the "Pentium Dual-Core" of today. No offense but Pentium of today has been degraded to Celeron status. They are practically interchangeable.
And furthermore, when overclocked these processor can scream, and be just as snappy as their higher end counterparts. When I took the Celeron E1400 to 2.4GHz, the machine seems much more responsive, and I couldn't really tell the difference between it and my Q6600 at the same speeds when doing basic tasks.
Instructions per Cycle (IPC) * Cycles per Second (Hz) = Instructions per Second (I/s)
That equation is the great processor equalizer. Celerons and Semperons have pathetic IPC. For theoretical sake, lets say it is just 2 IPC (this is a very liberal) and use your given speed of 2.0 GHz. That gives use the following:
2 IPC * 2.0 GHz = 4.0 GI/s
The Core 2 is in the neighborhood of 3 IPC and let's go with the same clockspeed of 2.0 GHz:
3 IPC * 2.0 GHz = 6.0 GI/s
Theoretically, your processor at 2.4 GHz grants you the following:
2 IPC * 2.4 GHz = 4.8 GI/s
As you can see, still well under the Core 2 processor. Realize that overclocking results in a higher frequency of errors and a lower IPC as a result. Assuming these IPC figures are correct (not certain on Celeron), you'd need to have your clockspeed at 3.0 GHz to match a Core 2 at 2.0 GHz.
Why I think the IPC of Celeron/Pentium is much lower is because Pentium 3, Pentium 4, Athlon XP, Athlon 64, Pentium M, Core 2, Core, and Athlon 64 X2 are all extremely responsive on an OS released at about the same time. The ones that have consistently stood out as not being responsive are the likes of Pentium, Celeron, Semperon, and Duron. Because of their tiny caches, their IPCs are at least half if not lower.
The main shortcoming of these cheaper processors is a much smaller cache. Benchmarks typically don't show this because they are designed to work with small caches. Where it becomes blatantly obvious is in tasks that require larger caches (like games) and simple day to day operations. Higher clocks can increase the instructions per second to a level that nullifies the difference.