Skip to content

Instantly share code, notes, and snippets.

@ubershmekel
Created August 27, 2013 17:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ubershmekel/6356840 to your computer and use it in GitHub Desktop.
Save ubershmekel/6356840 to your computer and use it in GitHub Desktop.
"""
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