Umm, that's total bullshit. The STL (SGI's version anyway) is actually quite fast. It is certainly faster than most reimplementations of the standard data structures. Also, templates often speed up code rather than slow it down. Take, for example, a generic linked list structure. Say there is a Walk() method that lets you iterate over the list. Without templates, you pass a function pointer to the data structure and you incur the cost of an indirect function call for every item you iterate over. If each call does relatively little (as most comparison functions for generic data structures do, for example) then you totally blow code performance. With templates, however, the compiler can inline these small functions into the template, and you get rid of the overhead of the indirect call. As for virtual functions:
A) The STL doesn't use virtual functions. It's template-based.
B) Its just an indirect call. For most non-trivial functions the cost is negligible.
Now, don't get me wrong. C++ can lead to bloated code. However, it can also lead to very fast code. C++ pushes a lot of work on the compiler. The compiler can often do things to make high-level code perform as well as dirty/hackish low-level code. The template data structure I mentioned above is nice and clean. Yet, it is just as fast as writing seperate linked-list data structure for each object type (which even the Linux kernel doesn't do!).
Quick note: The Intel C++ compiler is incredibly good. The other day, I was compiling a simple test application that tested the speed of coalescing memory blocks. The code was basically unoptimized. The ICC compiled app finished about 35% quicker than the GCC 3.0 compiled app. Since stuff like that is done a lot (especially in kernel code) ICC could have some real benifets for linux.
The fact that there are users with problems (and many of them) implies that there are problems. Not that unstable is broken or sucks or whatever, but it has caused issues for some people. Even if, as you say, twice as many people use it without problems, don't you think a 33% failure rate if aweful high?
Actually, BeOS splits up the video drivers. The low level work that *has* to be done in the kernel (like handling interrupts) is done in kernel space. The high level work (everything else, including drawing) is done by the X server (from userspace) directly manipulating the registers on the card. This is actually faster than putting the driver in the kernel because you don't have to make a slow system call to do drawing. The major bottleneck in the system is that you have to communicate between the X server and the application.
Ideally, processors would implement protection mechanisms similar to the x86 segmentation method. That method let you define 4 protection rings, and allowed code to access certain segments based on the privelege level of the segment containing the code. That way, everything could be done in the application. The app code would have a privlege level of 3, so it couldn't trash kernel or windowing system data. The window system would have a privelege level of 1 or 2, so it could access its data and the applications, but couldn't trash kernel data. The kernel would have a privelege of 0, so it could access anything and be safe from other code. Using such a mechanism, it would be possible to make everything (including windowing operations and system calls) require no more time than a simple function call.
*Very* off-base. NVIDIA's drivers are regular GLX modules loaded by the X server in userspace. They simply use a different (but functionally equivilant in terms of protection) scheme than DRI to bang registers and interrupts on the card. The stability issues are due to other problems (to be fair, though, I have been using them for a long time and Galeon and AbiWord have crashed numerous times while the NVIDIA drivers have never frozen the kernel or even X).
There was a kernel summit about 2.5. I've also heard that they are working on lower latency (either through preemption or breaking up long no-preempt regions) and integrating ALSA.
Re:BIOSes should not be operating system-specific.
on
LinuxBIOS Gains Steam
·
· Score: 2
Actually, slight correction. Every Intel chip since the Pentium has an APIC on the chip itself. While the APIC can emulate the classic PIC, you lose functionality in doing so. The part that is on the motherboard is the I/O APIC, and that acts at a higher level than the APIC, coordinating device intterupts between multiple-processors.
Its quite clear that they have every right to raise their children how they see fit. If they want to help like-minded parents do the same, more power to them. Unlike PABBIS (the book banning people) they are at least not trying to impose their values on parents who feel that their children can handle violent games or movies without becoming violent themselves.
People have to get the idea that people are all different, and those differences are particularly important in childhood. Some children should not be exposed to violence because that will alter their behavior. Others can watch all the bloody movies they want and remain perfect angles. The same idea applies to books, dress, music, etc. A child's parents (most of them, anyway) know better than anyone else (including the parents of other children) what is and is not appropriate for their children. Let's leave the parenting to them, instead of having Congress or some stupid interest group interfering.
Actually, the US supreme court has made an official stand on this. The internet is *not* like TV, it is like the press. Just as the press can publish anything it wants (even libel gets through these days, read a copy of Enquirer some time) the people on the 'net can publish anything they want. Of course, reasonable steps can be taken to allow parents to control what their children see (like not allowing Toy Stores to stock porno mags) but there is not a whole lot the government can do even in that direction.
However, you have to get beyond the idea that hard=useful. Why is JoeBlow asking how to use his printer in the first place? There must be something wrong with the configuration/printing system. While I very much see your pointer that OpenBSD intends to be a niche OS, its no excuse for being annoying. Many "usability vs. power" tradeoffs actually aren't tradeoffs but developer laziness. If these issues can be fixed, and the system made easier to use, who does it hurt? The system gets new users (who could potentially contribute to it) and even the '1337 hAxors get a system that allows them to fuss less and work more.
Actually, you CAN make certain windows transparent on a selective basic. With the app I was using, you could pick a window to make transparent. Or did I misunderstand you?
Freedom is scary, nobody says it isn't. In China, they have much more civil order than we do here. Violent crime rates, in particular, are many, many times lower. Why? Because they lack the freedom that often makes society so dangerous.
The speed for the extension, BTW is REALLY good. I was playing with a different program (same concept, though, hooks into the GDI) a few months ago, and you can make Internet explorer transparent and run a high-res video under it, all without any flicker or jerkiness. The ironic thing is that even with transparency, IE still performs better than Konqueror...
windoze didn't have virtual desktops
>>>>>>>>>>
So, according to your logic, an OS doesn't have something unless its built into the OS? And you're the same people who complain that MS is a monopoly for integrating everything? You do realize that the whole range of OSS programs are one big "third party" system, don't you?
Dude. I hate to say this, but Windows 2000, while it may crash more, doesn't hose you're filesystem nearly as often as Linux seems to these days. At what point do we get to start making the LinSux jokes?
PS> Don't flame me please. I just wiped Win2K off my harddrive this morning. Luckily, I downloaded the 2.4.15 tree but have been too lazy to compile it yet.
Ok, that IS true. However one has to consider that most things that provide great amounts of features slows down performance. There are, of course ways to get around this problem, like Microsoft does with integration.
>>>>>>>>>>>
Are you trying to make the arguement that KDE has more features than Windows XP?
Modern KDE versions are quite comparable with Windows in terms of speed on modern machines
>>>>>>>>>
Nope. Sorry. I've run both on a 750MHz Duron, and Win2K is still faster. Not just things like startup costs, but resizing, menu drawing, sub-window popup, EVERYTHING.
Umm, that's total bullshit. The STL (SGI's version anyway) is actually quite fast. It is certainly faster than most reimplementations of the standard data structures. Also, templates often speed up code rather than slow it down. Take, for example, a generic linked list structure. Say there is a Walk() method that lets you iterate over the list. Without templates, you pass a function pointer to the data structure and you incur the cost of an indirect function call for every item you iterate over. If each call does relatively little (as most comparison functions for generic data structures do, for example) then you totally blow code performance. With templates, however, the compiler can inline these small functions into the template, and you get rid of the overhead of the indirect call. As for virtual functions:
A) The STL doesn't use virtual functions. It's template-based.
B) Its just an indirect call. For most non-trivial functions the cost is negligible.
Now, don't get me wrong. C++ can lead to bloated code. However, it can also lead to very fast code. C++ pushes a lot of work on the compiler. The compiler can often do things to make high-level code perform as well as dirty/hackish low-level code. The template data structure I mentioned above is nice and clean. Yet, it is just as fast as writing seperate linked-list data structure for each object type (which even the Linux kernel doesn't do!).
Quick note: The Intel C++ compiler is incredibly good. The other day, I was compiling a simple test application that tested the speed of coalescing memory blocks. The code was basically unoptimized. The ICC compiled app finished about 35% quicker than the GCC 3.0 compiled app. Since stuff like that is done a lot (especially in kernel code) ICC could have some real benifets for linux.
The fact that there are users with problems (and many of them) implies that there are problems. Not that unstable is broken or sucks or whatever, but it has caused issues for some people. Even if, as you say, twice as many people use it without problems, don't you think a 33% failure rate if aweful high?
Actually, BeOS splits up the video drivers. The low level work that *has* to be done in the kernel (like handling interrupts) is done in kernel space. The high level work (everything else, including drawing) is done by the X server (from userspace) directly manipulating the registers on the card. This is actually faster than putting the driver in the kernel because you don't have to make a slow system call to do drawing. The major bottleneck in the system is that you have to communicate between the X server and the application.
Ideally, processors would implement protection mechanisms similar to the x86 segmentation method. That method let you define 4 protection rings, and allowed code to access certain segments based on the privelege level of the segment containing the code. That way, everything could be done in the application. The app code would have a privlege level of 3, so it couldn't trash kernel or windowing system data. The window system would have a privelege level of 1 or 2, so it could access its data and the applications, but couldn't trash kernel data. The kernel would have a privelege of 0, so it could access anything and be safe from other code. Using such a mechanism, it would be possible to make everything (including windowing operations and system calls) require no more time than a simple function call.
*Very* off-base. NVIDIA's drivers are regular GLX modules loaded by the X server in userspace. They simply use a different (but functionally equivilant in terms of protection) scheme than DRI to bang registers and interrupts on the card. The stability issues are due to other problems (to be fair, though, I have been using them for a long time and Galeon and AbiWord have crashed numerous times while the NVIDIA drivers have never frozen the kernel or even X).
There was a kernel summit about 2.5. I've also heard that they are working on lower latency (either through preemption or breaking up long no-preempt regions) and integrating ALSA.
Actually, slight correction. Every Intel chip since the Pentium has an APIC on the chip itself. While the APIC can emulate the classic PIC, you lose functionality in doing so. The part that is on the motherboard is the I/O APIC, and that acts at a higher level than the APIC, coordinating device intterupts between multiple-processors.
Its quite clear that they have every right to raise their children how they see fit. If they want to help like-minded parents do the same, more power to them. Unlike PABBIS (the book banning people) they are at least not trying to impose their values on parents who feel that their children can handle violent games or movies without becoming violent themselves.
People have to get the idea that people are all different, and those differences are particularly important in childhood. Some children should not be exposed to violence because that will alter their behavior. Others can watch all the bloody movies they want and remain perfect angles. The same idea applies to books, dress, music, etc. A child's parents (most of them, anyway) know better than anyone else (including the parents of other children) what is and is not appropriate for their children. Let's leave the parenting to them, instead of having Congress or some stupid interest group interfering.
Actually, it seems that a lot of people have problems with unstable, at least from the comments on debianplanet.org.
make uninstall
;)
You did remember to keep the source tree around, right
Dude. How do you think parents get filtering software on their computers to begin with? They ask their 12 year old to set it up for them!
Interesting point. So that would mean that Sweden would become the Switzerland of porn?
Actually, the US supreme court has made an official stand on this. The internet is *not* like TV, it is like the press. Just as the press can publish anything it wants (even libel gets through these days, read a copy of Enquirer some time) the people on the 'net can publish anything they want. Of course, reasonable steps can be taken to allow parents to control what their children see (like not allowing Toy Stores to stock porno mags) but there is not a whole lot the government can do even in that direction.
However, you have to get beyond the idea that hard=useful. Why is JoeBlow asking how to use his printer in the first place? There must be something wrong with the configuration/printing system. While I very much see your pointer that OpenBSD intends to be a niche OS, its no excuse for being annoying. Many "usability vs. power" tradeoffs actually aren't tradeoffs but developer laziness. If these issues can be fixed, and the system made easier to use, who does it hurt? The system gets new users (who could potentially contribute to it) and even the '1337 hAxors get a system that allows them to fuss less and work more.
Are you seriously claiming that OS-X isn't slow? IIRC, the 2.4 GHz G5's aren't out yet, are they?
Actually, you CAN make certain windows transparent on a selective basic. With the app I was using, you could pick a window to make transparent. Or did I misunderstand you?
Freedom is scary, nobody says it isn't. In China, they have much more civil order than we do here. Violent crime rates, in particular, are many, many times lower. Why? Because they lack the freedom that often makes society so dangerous.
Except its slow now, even with a processor with eighty times the clockspeed...
The speed for the extension, BTW is REALLY good. I was playing with a different program (same concept, though, hooks into the GDI) a few months ago, and you can make Internet explorer transparent and run a high-res video under it, all without any flicker or jerkiness. The ironic thing is that even with transparency, IE still performs better than Konqueror...
When its on Windows, it's not useful. When its on Linux, its the great, awesome, ground-breaking new technology that Packard dreamed up.
windoze didn't have virtual desktops
>>>>>>>>>>
So, according to your logic, an OS doesn't have something unless its built into the OS? And you're the same people who complain that MS is a monopoly for integrating everything? You do realize that the whole range of OSS programs are one big "third party" system, don't you?
Really. So the JPager applet I ran for several years was just a figment of my imagination?
Neither have I (and I track the -pre kernels), I was just being facetious. It gives MS more ammo anyway, though.
Dude. I hate to say this, but Windows 2000, while it may crash more, doesn't hose you're filesystem nearly as often as Linux seems to these days. At what point do we get to start making the LinSux jokes?
PS> Don't flame me please. I just wiped Win2K off my harddrive this morning. Luckily, I downloaded the 2.4.15 tree but have been too lazy to compile it yet.
Ok, that IS true. However one has to consider that most things that provide great amounts of features slows down performance. There are, of course ways to get around this problem, like Microsoft does with integration.
>>>>>>>>>>>
Are you trying to make the arguement that KDE has more features than Windows XP?
Modern KDE versions are quite comparable with Windows in terms of speed on modern machines
>>>>>>>>>
Nope. Sorry. I've run both on a 750MHz Duron, and Win2K is still faster. Not just things like startup costs, but resizing, menu drawing, sub-window popup, EVERYTHING.