Linked by Thom Holwerda on Tue 15th Apr 2008 20:12 UTC, submitted by Craig Barth
Microsoft "What Intel giveth, Microsoft taketh away. Such has been the conventional wisdom surrounding the Windows/Intel (aka Wintel) duopoly since the early days of Windows 95. In practical terms, it means that performance advancements on the hardware side are quickly consumed by the ever-increasing complexity of the Windows/Office code base. Case in point: Microsoft Office 2007, which, when deployed on Windows Vista, consumes more than 12 times as much memory and nearly three times as much processing power as the version that graced PCs just seven short years ago, Office 2000. Despite years of real-world experience with both sides of the duopoly, few organizations have taken the time to directly quantify what my colleagues and I at Intel used to call The Great Moore's Law Compensator (TGMLC). In fact, the hard numbers above represent what is perhaps the first-ever attempt to accurately measure the evolution of the Windows/Office platform in terms of real-world hardware system requirements and resource consumption. In this article I hope to further quantify the impact of TGMLC and to track its effects across four distinct generations of Microsoft's desktop computing software stack."
Thread beginning with comment 310095
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[9]: Not only frameworks
by sbergman27 on Thu 17th Apr 2008 15:39 UTC in reply to "RE[8]: Not only frameworks"
sbergman27
Member since:
2005-07-24

You are really missing the point. Here is something concrete which may make things clearer. In C, C++, or assembler, beat the python snippet below for reading in one million pairs of random floats, and sorting by the second member of the pair. I believe that this simple exercise should make my point far more clearly than any amount of theoretical "back and forth" in this thread.

=====
import cPickle, gdbm, operator
dbmIn = gdbm.open('float_pairs_in.pickel')
print "Reading pairs..."
pairs = cPickle.loads(dbmIn['pairs'])
print "Sorting pairs..."
pairs.sort(key=operator.itemgetter(1))
print "Done!"
=====


You can use this to create the input file:

=====
import random, gdbm, cPickle
print "Creating pairs file..."
pairs = [(random.random(), random.random(),) for pair in range(0,1000000)]
dbmOut = gdbm.open('float_pairs_in.pickel', 'n')
dbmOut['pairs'] = cPickle.dumps(pairs, 2)
dbmOut.close()
print "Done!"
=====

Reply Parent Bookmark Score: 2

RE[10]: Not only frameworks
by sbergman27 on Thu 17th Apr 2008 16:15 in reply to "RE[9]: Not only frameworks"
sbergman27 Member since:
2005-07-24

BTW, any comments from Python programmers regarding my code, above, are welcome. I'm not a master Python programmer.

Reply Parent Bookmark Score: 2