The Most Hated PC CPU

Click For Summary
The discussion centers on the IDT WinChip, often regarded as the most hated CPU despite its technological success in the late 1990s. It was designed to be cost-effective by optimizing for typical desktop workloads, using less silicon and more cache, but it underperformed in benchmarks and gaming scenarios. The market's preference for higher-performing CPUs led to its negative reception, as users found little reason to upgrade from existing Socket 7 processors. The conversation also touches on the broader theme of good ideas in technology being ahead of their time, with comparisons to other products and companies that faced similar fates. Ultimately, the WinChip's innovative approach was overshadowed by market dynamics and consumer expectations.
  • #31
The P4 was bad. Intel scraped it off its shoe as soon as it could. But at the time, the public was gushing over it.

I suspect it was due to it's "excellent overclocking". People hadn't quite grasped that if the chip is stalled, it doesn't matter how fast you clock it.
 
Computer science news on Phys.org
  • #32
When people say they are great programmers because they know a zillion languages, I launch into my rant on data structures and algorithms. 1-2-3 couldn't adapr to the 286 because of its data structures. Had they done it differently, they could have sold a "1-2-3/286" for even more money.

Understanding data structures is far more important than being able to write "Hello World" in 20 languages.
 
  • #33
If you can program in one language the rest is pretty much being able to consult a manual (apart from the conceptual differences between OO, procedural, functional etc). As you say, knowing math and algorithms will get you much farther. Choosing a specific language amounts to choosing the right tool for the particular task at hand.

EDIT: Except if, as you say, you're on some particular chip and are forced into assembler, or doing some embedded task as coding a barcode scanner where you have no choice, but in that particular case it's almost just a question of coding a UI.
 
  • #34
The 1-2-3 problem was simple. They had a giant 400K or so data structure and could only address it a few 64K ar a time. Further, the whole thing was written in assembly for speed.

Their solution was an 8088-specific trick: use the fact that every physical address has multiple (I think 4096) to move these "windows" around as needed. This worked as long as the trick did.

A better solution would have been to a) transition to C for tasks where it was suitable, e.g. reading and writing files to disk, and b) use a more suitable data structure. This would probably be some kind of tree, with dozens or hundreds of segments, not thousands. Segments would contain dozens or hundreds of largely dependent cells, arranged into branches. This would take some thinking and real work. Just because it is possible doesn't mean its easy.

I suspect by that point Lotus was more interested in selling the company than selling spreadsheets. (Which they did) And fixing a problem that low level in the design is tough.

I won't claim to have seen every C trick that assumes pointers are ints, but suspect that a) speed increases at the application level were marginal and b) the sane thing could be done with unions.
 
  • #35
Trying to remember this guy who found an especially smart assembler use of the C switch but all I can find is Dijkstra's algorithm

Ah, digging around a little I found it. I think this is particularly ingenius: Duff's device.

Obviously this guy almost has his algorithms down to an artform.

Maybe not assembler as such but smart it is.

I may have pulled some fast ones during my career but I'm not sure I'm nowhere near as smart as that guy.

And yeah, unions are probably a lost "artform". I've had coworkers who didn't know what it was.
 
Last edited:
  • #36
There is way too much concern about speed, and it comes way too early in the process.

There is no virtue in getting the wrong answer quickly.
It only makes sense to speed up the code that is slowing you down.

Unions are there for a reason.
 
  • #37
I think in that particular case (Duff's) there was a reason. But I agree: see to it that it works first, then optimize if needed. Often it's also easier to just launch an extra identical process instead of fighting with making an already working program multithreaded. There be monsters that way.

EDIT: The GCC compiler (and presumably others) also come with a bunch of switches along the lines of "-O0", "-O1", "-O2" etc. Each doing their own thing for optimization without anyone touching the code.

They've worked wonders for me in the past.
 
  • #38
Optimizers have been around for decades. They do what they do well, but they are not magic. Unrolling loops, they will do. Replacing your bubble sort with a heap sort? Usually not.
 
  • #39
Compilers are advanced these days, but they still won't make your program for you. Although WYSIWYG will save you some time creating GUIs (I think. I must admit I'm not completely convinced. Also, I hardly consider creating GUIs "programming" apropos our little detour into algorithms.) Microsoft Developer Studio is a really nifty tool though. I've been playing around with Android Developer Studio and every time I use it I feel like I fractured my frontal lobe. It probably has to do with the latter being "coded" in java.

Even 3D studio, Reason or Cubase is lightning fast compared.

EDIT: In fact, if I wanted to write a book I wish I had an editor like Microsoft Developer Studio. Yeah,I know that doesn't really make sense. I just like the professionalism of it.
Speaking of which: Zen and the art of Writer Decks (using the Pomera DM250)



EDIT: I guess you can't have all. No DEV Studio on Linux. No emacs on Windows. Unless you want to venture into wine or cygwin. In fact, I've managed to run FruityLoops on Linux using Wine. I must admit that impressed me a little.
 
Last edited:
  • #40
I don't understand the point you are trying to make.
 
  • #41
EDIT:

I admit it's a little over the place. Don't bother with it. Probably time to close the thread before I make more of a fool of myself.
 

Similar threads

  • · Replies 13 ·
Replies
13
Views
13K
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 3 ·
Replies
3
Views
15K