Created
August 27, 2013 17:57
-
-
Save ubershmekel/6356840 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Data from | |
http://en.wikipedia.org/wiki/CPU_socket#List_of_80x86_sockets_and_slots | |
copy pasted html to excel, copy pasted excel to python | |
ran python | |
pasted output to excel, drew a graph | |
There's probably a simpler way to do a pivot table but I don't know how. | |
""" | |
from collections import Counter | |
import pprint | |
text = '''Socket 1 1989 | |
Socket 3 1991 | |
Socket 7 1994 | |
Socket 8 1995 | |
Slot 1 1997 | |
Slot 2 1998 | |
Super Socket 7 1998 | |
Slot A 1999 | |
Socket 370 1999 | |
Socket 423 2000 | |
Socket 462/ 2000 | |
Socket A | |
Socket 478/ 2000 | |
Socket N | |
Socket 495 2000 | |
PAC418 2001 | |
Socket 603 2001 | |
PAC611 2002 | |
Socket 604 2002 | |
Socket 479 2003 | |
Socket 754 2003 | |
Socket 940 2003 | |
LGA 775/ 2004 | |
Socket T | |
Socket 939 2004 | |
LGA 771/ 2006 | |
Socket J | |
Socket AM2 2006 | |
Socket F 2006 | |
Socket M 2006 | |
Socket S1 2006 | |
Socket AM2+ 2007 | |
Socket P 2007 | |
LGA 1366/ 2008 | |
Socket B | |
rPGA 988A/ 2008 | |
Socket G1 | |
Socket 441 2008 | |
LGA 1156/ 2009 | |
Socket H | |
Socket AM3 2009 | |
LGA 1248 2010 | |
LGA 1567 2010 | |
Socket C32 2010 | |
Socket G34 2010 | |
rPGA 988B/ 2011 | |
Socket G2 | |
Socket AM3+ 2011 | |
Socket FM1 2011 | |
LGA 1155/ 2011 | |
Socket H2 2011 | |
LGA 2011/ 2011 | |
Socket R 2011 | |
Socket FM2 2012 | |
Socket G3/ 2013 | |
Socket G3 | |
LGA 1150/ 2013 | |
Socket H3 2013''' | |
data = [['Socket 1', '1989'], | |
['Socket 3', '1991'], | |
['Socket 7', '1994'], | |
['Socket 8', '1995'], | |
['Slot 1', '1997'], | |
['Slot 2', '1998'], | |
['Super Socket 7', '1998'], | |
['Slot A', '1999'], | |
['Socket 370', '1999'], | |
['Socket 423', '2000'], | |
['Socket 462', '2000'], | |
['Socket A', '2000'], | |
['Socket 478', '2000'], | |
['Socket N', '2000'], | |
['Socket 495', '2000'], | |
['PAC418', '2001'], | |
['Socket 603', '2001'], | |
['PAC611', '2002'], | |
['Socket 604', '2002'], | |
['Socket 479', '2003'], | |
['Socket 754', '2003'], | |
['Socket 940', '2003'], | |
['LGA 775', '2004'], | |
['Socket T', '2004'], | |
['Socket 939', '2004'], | |
['LGA 771', '2006'], | |
['Socket J', '2006'], | |
['Socket AM2', '2006'], | |
['Socket F', '2006'], | |
['Socket M', '2006'], | |
['Socket S1', '2006'], | |
['Socket AM2+', '2007'], | |
['Socket P', '2007'], | |
['LGA 1366', '2008'], | |
['Socket B', '2008'], | |
['rPGA 988A', '2008'], | |
['Socket G1', '2008'], | |
['Socket 441', '2008'], | |
['LGA 1156', '2009'], | |
['Socket H', '2009'], | |
['Socket AM3', '2009'], | |
['LGA 1248', '2010'], | |
['LGA 1567', '2010'], | |
['Socket C32', '2010'], | |
['Socket G34', '2010'], | |
['rPGA 988B', '2011'], | |
['Socket G2', '2011'], | |
['Socket AM3+', '2011'], | |
['Socket FM1', '2011'], | |
['LGA 1155', '2011'], | |
['Socket H2', '2011'], | |
['LGA 2011', '2011'], | |
['Socket R', '2011'], | |
['Socket FM2', '2012'], | |
['Socket G3', '2013'], | |
['Socket G3', '2013'], | |
['LGA 1150', '2013'], | |
['Socket H3', '2013']] | |
def gen_data(): | |
data = [] | |
for row in text.splitlines(): | |
normed = row.strip() | |
if normed == '': | |
continue | |
maybe_pair = normed.split('\t') | |
if len(maybe_pair) > 1: | |
name, year = maybe_pair | |
else: | |
name = maybe_pair[0] | |
name = name.strip('/') | |
#print name, year | |
data.append([name, year]) | |
pprint.pprint(data) | |
years = [int(i[1]) for i in data] | |
c = Counter(years) | |
#print c | |
for year in range(min(years), max(years) + 1) : | |
count = c.get(year, 0) | |
print "%s\t%s" % (year, count) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment