5 sys.path.append("/home/paul/g/fetched/corepy-1.0")
10 import corepy.arch.x86.platform as env
11 import corepy.arch.x86.isa as x86
12 import corepy.arch.x86.types.registers as r
13 from corepy.arch.x86.lib.memory import MemRef
14 from corepy.lib.extarray import extarray
16 def timecmd(name, cmd, r):
25 print "%s %5.1f" % (name, total*(1.2E9)/(r*c))
31 code = env.InstructionStream()
35 params = env.ExecParams()
36 env.Processor().execute(code)
37 timecmd("callasm", callasm, reps)
41 def timeaccess(name, items, mask, store):
43 for i in xrange(reps):
44 for j in xrange(items):
46 timecmd(name, timereps, datasize*reps)
48 timeaccess("snative", datasize>>2, 3, [0] * (datasize >> 2))
49 timeaccess("native", datasize>>2, 0xffffffff, [0] * (datasize >> 2))
50 timeaccess("sarray", datasize>>2, 3, array.array('L', [0] * (datasize >> 2)))
51 timeaccess("array", datasize>>2, 0xfffffff, array.array('L', [0] * (datasize >> 2)))
52 timeaccess("sulongs", datasize>>2, 3, extarray('L', datasize >> 2))
53 timeaccess("ulongs", datasize>>2, 0xffffffff, extarray('L', datasize >> 2))
54 timeaccess("ushorts", datasize>>1, 0xffff, extarray('H', datasize >> 1))