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*(2.4E9)/(r*c))
29 code = env.InstructionStream()
33 params = env.ExecParams()
34 env.Processor().execute(code)
35 timecmd("callasm", callasm, reps)
39 def timeaccess(name, items, mask, store):
41 for i in xrange(reps):
42 for j in xrange(items):
44 timecmd(name, timereps, datasize*reps)
46 timeaccess("snative", datasize>>2, 3, [0] * (datasize >> 2))
47 timeaccess("native", datasize>>2, 0xffffffff, [0] * (datasize >> 2))
48 timeaccess("sarray", datasize>>2, 3, array.array('L', [0] * (datasize >> 2)))
49 timeaccess("array", datasize>>2, 0xfffffff, array.array('L', [0] * (datasize >> 2)))
50 timeaccess("sulongs", datasize>>2, 3, extarray('L', datasize >> 2))
51 timeaccess("ulongs", datasize>>2, 0xffffffff, extarray('L', datasize >> 2))
52 timeaccess("ushorts", datasize>>1, 0xffff, extarray('H', datasize >> 1))