Finally had a minute ...
ShadeOfBlue wrote:
This is partially true. It works great for IO-bound tasks, but for CPU-bound tasks it's different.
Been thinking about this a while and came to the conclusion that you have been misled, no, it is not different.
You're looking at this from the wrong point of view. I am only speaking of the situation
as it pertains to workstations
.
In the case of a workstation, the top priority is
user responsiveness.
. Not ultimate performance. Not least power consumption, not the best benchmarks on a single type of task; the overriding primary requirement is responsiveness to user input. I guess this point is somewhat lost on people who have only used Unix or Windows or OS X. But if you had ever used a system that truly prioritized the user, you would never be happy with the rest of this crap again.
Irix is not very good at this. I am quite disappointed in the performance of a dual processor O350. If you keep gr_osview open on the desktop you will see that one p is almost always more heavily loaded than the other. This is poor quality software. OS/2 does not do that. BeOS does not do that.
In practice, it does make a difference. With the Fuel, I would get situations when (for example) a swiped bit of text would not middle mouse down into nedit instantly. The processor was busy with something else. I was looking forward to going two-up ... but what do I find ? 2 p does the same thing. Irix is not well-designed (from a workstation point of view). This should never ever
ever
happen.
I
am god here and the damned computer better understand that.
Your example was also not so great for the following reason - a computer cannot spawn thirty threads simultaneously. If it spawns thirty threads, they will be spaced out at some time interval - let's say 3 milliseconds just for fun. During those three milliseconds a lot of other events will be occuring as well. And then the next thread, another three milliseconds. The rendering program does not own the entire computer, ever, and you can't spawn multiple threads simultaneously ever, either. So your example doesn't really hold true in practice.
But more to the point, it ignores the prime consideration for a workstation : PAY ATTENTION TO THE USER. If I am writing an email while some app is rendering a 3840x2400 graphic in the backround, I
really
don't give a shit if it takes .25 seconds longer or even 25 seconds longer. What I care about is that the edits in my email do not get hung up
even for 1/10th of a second.
What I am currently doing is what counts, not the stupid background render job.
This is an area where Unix, Linux, and Windows are not very good.
Here's another odd thing - with OS/2, for desktop use more than 2 processors makes no difference. I tried 4, it made no difference. One person could not load down four processors. (Except that a quad PPro Netfinity takes up a *lot* of space !) I was surprised at how zoomy a quad Origin 500 was. This is pure conjecture but it might be that the scheduler in Irix is so crappy that having an extra couple processors overcomes some of this complaint. As it is, I am not impressed in any way with a 2p O350. For a
workstation
, the system does not handle threading or processes well at all.
Back to the subject of this thread, the entire philosophy expressed by it is just
wrong
. This thing is a tricycle - putting a fatter tire on the front isn't going to solve the problem. Go fast around a corner and the thing is still going to fall over.
I like the concept of open source. I've bought software for (to me) big money, only to have the lovely vendor decide three months later that I needed to "migrate" and that the flaws in what I had bought were never going to be fixed. It's an odd thing but the money I handed over was never flawed
So I have a soft spot for the concept of Open Source.
And Linux was once upon a time a cool idea with some talented people and good ideas. Back in the beginning they stressed all the things I admire. Remember "standards" ? Now it's "well, it works in gcc." Thanks.
Once I made you rich enough, rich enough to forget my name.
. List the dependencies ? Right again me boyo, "just apt-get the yummy debian !"
Fucking idiots.
I know there are still good people doing work in Linux or other open source projects. I have talked to a few who were happy to hear about problems (okay, not exactly
happy
but responsive and cooperative.) The quality of a few projects is great, really good. But too much of it is rancid vomit.
Gtk was okay. Gtk2 is not. Even when you get it to work, at 2.13.3 the entire file system handling goes to crap. It disappears and doesn't work. "Oh that's deprecated, man" ... go fuck yourself, you little shithead. The code is garbage, untested, stinking worthless shit. "We don't have a Solaris /SGI /AIX box to test with, man ..." Then go buy one, you little twats. Put up fifty bucks and actually
test
your goddamned worthless software. The average greaser motorcycle mechanic has twenty thousand dollars' worth of tools, these "hi tech", highly skilled brilliant degreed individuals can't bother to buy a few tools ? Many of these people are worthless little snotnoses who couldn't find their ass with both hands in a dark room. Pixman 0.30's configure told me "your system has broken thread support." Yeah, right. Irix was 64-bit running on 128 processors when the twit who wrote that configure script was in diapers but MIPSPro has "broken thread support." Then gtk3 ... let's not even go there, I don't want to barf up my lunch.
What I have come across playing with the stinking gtk series is that the newer it gets, the worse it gets. It seems that people understand less and less of the basic requirements for software - hell, less and less about
anything
, as time goes by. Basically, the more "modern" it is, the shittier. So when I hear that squeal about "modern, current, uptodate" or even worse, "deprecated" I want to scream. Modern is synonymous with pigshit. At least Motif
works
.
Shall we bring in Fireflop for an example ? My favorite turd ? (I have dozens of screenshots of failed fireflop, btw, so this is not an anomoly.)
Attachment:
flopshit_1.jpg [ 58 KiB | Viewed 152 times ]
What's this ? A jpeg .. a stinking simple-ass jpeg ... that Fireflop couldn't display. There is simply
no
excuse for this, ever. Those dickcheeses have all the time in the world to play with their awesumbars and their non-standard msql and change toolkits and their el-coolo urlbar color changing and the stupid little text popups "Did you want to go to a website ?' No thanks, I want you to go wash my socks. (And if that worthless goddamned Open Orifice asks me one more time "Are you
sure
you want to save this in a Microsoft format ?" I'm going to kill someone. The only reason that piece of shit is allowed within 100 yards of my computer is to "save this file in a Microsoft format."
But they don't have the time and manpower to make the damned thing actually work.
It's a real temptation to say, "Screw Open Source. The quality is garbage."
Which brings me back to this project ... I am all for people writing software. Really. Even if it's something I could care less about, it's still good. Without software computers are not useful. And this is kind of a fun little utility, it could be nifty to know hw many cores are in a box or how many hyper-threaded pseudo-processors or whatever. But as a means to make multi-threaded software work better, it's tits on a boar. Developing more poorly-thought-out, badly coded untested crappy gnu libraries is the wrong approach to getting the most out of multiple processors. The programs have to be written with the task in mind, not just have some cool modern 'parallel library' tacked on to a junky badly-structured application. Junky single-threaded, junky multi-threaded, who cares ? Junk is junk.