In response to my WinFS API Lean and Mean post, points out that for ObjectSpaces, “Andrew Conrad has lead us to believe that the 30% performance loss is due to object creation.“ The full quote from Andrew's posting is:
In general, this performance difference comes from the materializing of the objects and some overhead from the mapping layer. Note – if one was to materialize their own objects over the SqlDataReader, they probably won’t see a significant difference between ObjectSpaces and their custom solution.
Some of the overhead is mapping. Some is object creation. The WinFS API reduces the object creation overhead to a minimum by taking advantage of the fact that WinFS objects are derived from our base class.
Andrew goes on to say:
So unless one does a join on the server and then normalizes the results them self, it will be hard to beat the ObjectSpaces’ performance. As the hierarchy becomes deeper and more complex, this performance gain will be more noticeable.
In the end, objects have costs and benefits. I assert the benefits out weight the costs. Achieving good performance is a priority zero requirement for us and we'll probably still be tweaking things as they pry the bits from our carpel-tunneled hands for pressing onto CDs (DVDs?).
11/24/2003 11:07 AM
# re: Overhead
I don't mean to be Mr. Negative...I want this to work...and I trust you guys to make it work.
I am not as worried about overhead as I am about tuning. The whole idea with ObjectSpaces itself it to simplify the object-to-relational mapping at the expense of control. Control is the key word here.
If you are not using the entire ObjectSpaces stack, then you'll probably be able to tune the hell out of the database access (like doing different things for intra-machine vs. inter-machine).
11/24/2003 10:33 PM
# re: Overhead
Anyone to say that the overhead will weigh in on their decision is crazy. Type mapping, which object spaces will take care of, is the most trivial and time consuming code I can think of. Object spaces is to data access as the CLR is to reference counting. I personally think it is going to be huge once is starts rolling.
12/3/2003 8:45 PM
# off topic
Thought you'd like to know, something in your html formatting prevents your text from wrapping properly when viewed using Mozilla.
For example, at normal text size, all but the last word of this paragraph continues on one line, resulting in a page width around 400% the size of the browser window:
"In a comment to my explanation of WinFS, Shawn Smith wonders why we would not store all the data (including the file) in the database. In fact we are. The file storage itself is managed by the database engine. In the relational schema, there is a column with a binary type and an attribute that tells the system to store the data in a file in NTFS. Transactions are coordinated between the database and NTFS to maintain consistency. The advantage you get over just a normal binary column is that you can ask the system for a special UNC path that can be used to open the file for I/O, leveraging all the performance of NTFS. It really is the best of both worlds."
Certainly not the "best of both worlds" as far as browsers are concerned. :)
5/4/2004 4:24 AM
# re: Overhead
How does Viagra work?
Erectile Dysfunction has often physical causes and Viagra is the best treatment for this problem. It works by increasing blood flow where you need it. To get an erection with Viagra, you must be sexually excited. If you take Viagra and are not sexually stimulated, nothing will happen. You won't get an erection just by taking the pill. Viagra is not an aphrodisiac or a hormone. It’s a medicine that treats the physical problem of Erectile Dysfunction.
Remember that Viagra is for everyone!
Only your doctor should prescribe Viagra for you. Do not take viagra if you use nitrate drugs, often used to control chest pain (also known as angina). This combination could cause your blood pressure to drop to an unsafe or life-threatening level. Don't forget to ask your doctor if your heart is healthy enough for sexual activity. If you are older than age 65, or have serious liver or kidney problems, your doctor may start you at the lowest dose (25 mg) of Viagra. If you are taking protease inhibitors, such as for the treatment of HIV, your doctor may recommend a 25-mg dose and may limit you to a maximum single dose of 25 mg of Viagra in a 48 hour period.
How to use Viagra and possible side effects:
Take this drug by mouth (orally) as required between four hours and a half hour before commencing sexual activity (usually about one hour before works best). Take Viagra only as prescribed, usually once daily as needed.
Possible Viagra Side Effects: Viagra might cause headaches, flushing, stomach upset, nasal stuffiness, diarrhea and dizziness. If these effects are encontered, persist or worsen, contact your doctor immediately.
The Food and Drug Administration approved Viagra (sildenafil citrate) on march 1998, the first oral pill to treat impotence, a dysfunction that affects millions of men in the United States. Viagra helps most men to get and keep an erection when sexually excited. Viagra can restore couples with one of life's most meaningful and pleasurable activities.