You're forgetting that even though Mac users may keep their machines for a while, so do Windows users. Further, an aging Mac LC isn't going to be very useable with today's or even yesterday's applications.
Floating point performance is not the only performance out there, and in fact it's a benchmark i'm least concerned with.
I care about optimization of the executing code and integer performance 99.999% of the time, and MS's compiler generates some extremely good code. Remember, the smaller it is, the better chance there is that it will fit within the cache, especially for tight loops.
I've not been very impressed with the size or performance of gcc's integer code.
The for scoping you refer to was introduced in the C++ standard, which VC++ supported as far back as version 5 IIRC, however it supported it in a way that was not very useful. You had to turn off all MS extensions to use it, and that also had the side effect of breaking many other things.
As of VC++7 they have a specific switch to enable/disable the for scoping (current version is 7.1, with 8.0 due out next year).
That wasn't a bug. MS Version 6 compiler was released prior to the C++ standard being rattified, and MS didn't want to chase a draft standard (which I can't really fault them for). The next version they released (7) has support for the for scope, though it did take them 4 years to release 7.
Note that this is comparing MSVC 6 (current version is 7.1, and it's improved a lot). In this test, Intel beats everyone, MSVC comes in second with MingW third, however, both the Intel and MS compilers have improved massively in the last couple years. I don't know about MingW. At least part of MingW's success is that they use MS's runtime library, which means that a great deal of the code being run was compiled by MSVC.
MS's Visual C++ is far more permissive than gcc when it comes to "standards". For example, vc uses the ancient c++ scoping rules (circa 1995-ish)
Uh, no. MS's compiler for the last two versions has had a switch to turn off that behavior. Yes, it's on by default because there's a lot of legacy code, but you can turn it off.
What's worse is that you *have* to follow their archaic scoping rules
Again, no. Just use the switch:/Zc:forScope
The problem is that the c++ standard states that enums place their contents in the scope level immediately above their own, *not* in a separate scope
This one is controlled by the/Za switch that turns off MS extensions. There is a difference between supporting an extension (which many compilers, including GCC do) and non-compliant behavior.
The storage on the storage device is storing streaming data. As for the guy that contacted him, he also says: "(I did appreciate, though, that I heard this through the programming staff and not the legal department.)"
Yes, that's the patent I was referring to. It covers the *TRANSMISSION* of data, along with little bits about storing error correction data locally, etc.. I can't find anything in there that covers the file format.
Not only was he not sued, he wasn't even C&D'd. He just got a phonecall from a programmer who worked at MS claiming that the ASF format is patented.
That doesn't sound like any kind of official action, but rather someone took it upon themselves to "enforce" what they believed to be true (whether or not it is, i'm uncertain).
After reading the patents, I just can't come to the conclusion that the ASF format is patented based on them. I can't understand why the author of VirtualDub did, unless he simply didn't want to take any chances.
If I had been the author of VirtualDub, i'd have told whoever contacted him that he wouldn't change anything unless he was officially C&D'd. At least that would indicate that a real patent lawyer had decided that he was in violation, not some programmer (doesn't mean it's any more valid, but punts it upward to at least a possibly more patent law competent person).
Maybe i'm missing something, but according to the VirtualDub author, he wasn't contacted by any legal entity of MS, only a programmer who claimed the format was patented.
I looked at the supplied patent, and it appears to me (though i'm not an expert) to only cover streaming ASF audio, and the algorithm for handling that (specifically using error correction and sliding windows, along with a few other features).
For the life of me, I can't figure out how this patent could be claimed to a patent on a file format. It seems to be a patent on the process of streaming data.
"We believe the e-mail was simply a misunderstanding of the facts by an outside consultant who was working on a specific unrelated project to the BayStar transaction, and he was told at the time of his misunderstanding," Stowell said, reading from a statement. "Contrary to the speculation of Eric Raymond, Microsoft did not orchestrate or participate in the BayStar transaction."
My question is, how are they SUPPOSED to answer this? I mean, MS employs some 80,000 people. How could they possibly know if someone who is in their employ may have played any kind of role in that? Even if what they say is true, there's no way to answer the statement other than to decline comment.
Sorry folks, the only way you will bait me back to the world of Windows is if someone makes a REAL POSIX layer running on top ntoskrnl (The NT Microkernel)
You mean like this? Interix, part of SFU, provides a complete System V unix running atop the microkernel (alongside Win32). No, you can't disable Win32, but it certainly provides a complete POSIX layer.
Ummm.. because Windows *DID* have this quite a few years ago?
Windows PE is just an extension of the XP embedded tool system, which is just an extension of the NT4 embedded tool system available since about 1998.
NT embedded has always been able to boot from a CDRom and run a complete system, MS just formalized this into something called "Windows PE" that Bart copied (actually, about 2 years ago).
Actually, the biggest draw to access is that everything (outside of the runtime) is encapsulated in one single mdb file. All your forms, queries, data, etc... Just click and go. Various frontend tools for MySQL (or any client/server database for that matter) mean seperating your data from your application, which is more sound, but nowhere near as convenient. As we know, convience rules the retail market.
Funny, but I don't consider shutting off a service you're not using to be "premature optimization". Not only is it pointless to run the process, a waste of resources (no matter how insignificant you might think they are), but it's also a security risk.
Frankly, I can't believe any Linux enthusiest would advocate running services without need. That's stupid.
It's not an issue with MySQL in particular. It adds up when you have lots of services you're not using. I don't care if I've got 10TB of memory in my system, it's still wasted if i'm not using it.
Besides, having services you don't use in your startup takes longer to boot, and for most people, booting happens every day as they shut off their computers when they're not using them.
Remember, we're not talking about a server in this thread.
Not exactly true. While it's true that the service won't use many (if any) CPU cycles while waiting, it will use memory.
You're incorrect that this memory will get swapped to disk, since that will only happen if memory becomes low.
The problem with this is that Linux (as do many OS's) has a system of buffers and caches which use unallocated memory to speed up the OS. Having a bunch of memory allocated (but not enough to swap them out to disk) lowers the number of buffers and caches available to the OS, thus decreasing performance.
Finally, whether or not the memory is swapped out to disk, it's still resources, and it's still wasting them if the service isn't being used.
Everything that you said is true, but MSJET doesn't run as a service. It's just DLL's that get loaded into the applications process space and execute in the context of the application.
You're making a serious statistical error there.
You're forgetting that even though Mac users may keep their machines for a while, so do Windows users. Further, an aging Mac LC isn't going to be very useable with today's or even yesterday's applications.
Oh come on, and nobody has written books about Linux's internals?
BTW, that book is 12 years old, and predates the MSDN.
Floating point performance is not the only performance out there, and in fact it's a benchmark i'm least concerned with.
I care about optimization of the executing code and integer performance 99.999% of the time, and MS's compiler generates some extremely good code. Remember, the smaller it is, the better chance there is that it will fit within the cache, especially for tight loops.
I've not been very impressed with the size or performance of gcc's integer code.
If you really want to be pedantic, it's not misspelled, but rather mis-capitalized. Ie, a grammar error rather than a syntax error.
It was never "wrong" per se.
The for scoping you refer to was introduced in the C++ standard, which VC++ supported as far back as version 5 IIRC, however it supported it in a way that was not very useful. You had to turn off all MS extensions to use it, and that also had the side effect of breaking many other things.
As of VC++7 they have a specific switch to enable/disable the for scoping (current version is 7.1, with 8.0 due out next year).
That wasn't a bug. MS Version 6 compiler was released prior to the C++ standard being rattified, and MS didn't want to chase a draft standard (which I can't really fault them for). The next version they released (7) has support for the for scope, though it did take them 4 years to release 7.
This is a few years old (as are most of the benchmarks i've seen) but you can try this http://www.willus.com/ccomp_benchmark.shtml?p11
Note that this is comparing MSVC 6 (current version is 7.1, and it's improved a lot). In this test, Intel beats everyone, MSVC comes in second with MingW third, however, both the Intel and MS compilers have improved massively in the last couple years. I don't know about MingW. At least part of MingW's success is that they use MS's runtime library, which means that a great deal of the code being run was compiled by MSVC.
MS's Visual C++ is far more permissive than gcc when it comes to "standards". For example, vc uses the ancient c++ scoping rules (circa 1995-ish)
/Zc:forScope
/Za switch that turns off MS extensions. There is a difference between supporting an extension (which many compilers, including GCC do) and non-compliant behavior.
Uh, no. MS's compiler for the last two versions has had a switch to turn off that behavior. Yes, it's on by default because there's a lot of legacy code, but you can turn it off.
What's worse is that you *have* to follow their archaic scoping rules
Again, no. Just use the switch:
The problem is that the c++ standard states that enums place their contents in the scope level immediately above their own, *not* in a separate scope
This one is controlled by the
Actually, the chart you're referring to doesn't actually say that Vulcan or MSFT are investors in Baystar at all. Read the chart carefully.
The storage on the storage device is storing streaming data. As for the guy that contacted him, he also says: "(I did appreciate, though, that I heard this through the programming staff and not the legal department.)"
In other words, a programmer called him.
Note the use of the words "Stream" and "packet". This is a cacheing mechanism for storing streaming audio, not a file format
Yes, that's the patent I was referring to. It covers the *TRANSMISSION* of data, along with little bits about storing error correction data locally, etc.. I can't find anything in there that covers the file format.
Not only was he not sued, he wasn't even C&D'd. He just got a phonecall from a programmer who worked at MS claiming that the ASF format is patented.
That doesn't sound like any kind of official action, but rather someone took it upon themselves to "enforce" what they believed to be true (whether or not it is, i'm uncertain).
After reading the patents, I just can't come to the conclusion that the ASF format is patented based on them. I can't understand why the author of VirtualDub did, unless he simply didn't want to take any chances.
If I had been the author of VirtualDub, i'd have told whoever contacted him that he wouldn't change anything unless he was officially C&D'd. At least that would indicate that a real patent lawyer had decided that he was in violation, not some programmer (doesn't mean it's any more valid, but punts it upward to at least a possibly more patent law competent person).
Maybe i'm missing something, but according to the VirtualDub author, he wasn't contacted by any legal entity of MS, only a programmer who claimed the format was patented.
I looked at the supplied patent, and it appears to me (though i'm not an expert) to only cover streaming ASF audio, and the algorithm for handling that (specifically using error correction and sliding windows, along with a few other features).
For the life of me, I can't figure out how this patent could be claimed to a patent on a file format. It seems to be a patent on the process of streaming data.
"We believe the e-mail was simply a misunderstanding of the facts by an outside consultant who was working on a specific unrelated project to the BayStar transaction, and he was told at the time of his misunderstanding," Stowell said, reading from a statement. "Contrary to the speculation of Eric Raymond, Microsoft did not orchestrate or participate in the BayStar transaction."
My question is, how are they SUPPOSED to answer this? I mean, MS employs some 80,000 people. How could they possibly know if someone who is in their employ may have played any kind of role in that? Even if what they say is true, there's no way to answer the statement other than to decline comment.
I think you might want to rethink that. Read this:
/ 6/19/05641/7357
http://www.kuro5hin.org/?op=displaystory;sid=2001
Sorry folks, the only way you will bait me back to the world of Windows is if someone makes a REAL POSIX layer running on top ntoskrnl (The NT Microkernel)
You mean like this? Interix, part of SFU, provides a complete System V unix running atop the microkernel (alongside Win32). No, you can't disable Win32, but it certainly provides a complete POSIX layer.
"Stripped down" means that it doesn't have stuff like "Background Intelligent Transfer Service".
You can run pretty much any utility you want from such a bootable CD.
Ummm.. because Windows *DID* have this quite a few years ago?
Windows PE is just an extension of the XP embedded tool system, which is just an extension of the NT4 embedded tool system available since about 1998.
NT embedded has always been able to boot from a CDRom and run a complete system, MS just formalized this into something called "Windows PE" that Bart copied (actually, about 2 years ago).
I suppose. That is if you consider ECMA and ISO standardization "completely proprietary".
Actually, the biggest draw to access is that everything (outside of the runtime) is encapsulated in one single mdb file. All your forms, queries, data, etc... Just click and go. Various frontend tools for MySQL (or any client/server database for that matter) mean seperating your data from your application, which is more sound, but nowhere near as convenient. As we know, convience rules the retail market.
Funny, but I don't consider shutting off a service you're not using to be "premature optimization". Not only is it pointless to run the process, a waste of resources (no matter how insignificant you might think they are), but it's also a security risk.
Frankly, I can't believe any Linux enthusiest would advocate running services without need. That's stupid.
It's not an issue with MySQL in particular. It adds up when you have lots of services you're not using. I don't care if I've got 10TB of memory in my system, it's still wasted if i'm not using it.
Besides, having services you don't use in your startup takes longer to boot, and for most people, booting happens every day as they shut off their computers when they're not using them.
Remember, we're not talking about a server in this thread.
Not exactly true. While it's true that the service won't use many (if any) CPU cycles while waiting, it will use memory.
You're incorrect that this memory will get swapped to disk, since that will only happen if memory becomes low.
The problem with this is that Linux (as do many OS's) has a system of buffers and caches which use unallocated memory to speed up the OS. Having a bunch of memory allocated (but not enough to swap them out to disk) lowers the number of buffers and caches available to the OS, thus decreasing performance.
Finally, whether or not the memory is swapped out to disk, it's still resources, and it's still wasting them if the service isn't being used.
Everything that you said is true, but MSJET doesn't run as a service. It's just DLL's that get loaded into the applications process space and execute in the context of the application.