1 #!/usr/bin/env python2.5
2 import sys, re, struct, mmap
7 def s_from_bytes(bytes):
8 clist = [chr(b) for b in bytes]
13 fields = ['VmSize', 'VmRSS', 'VmData', 'VmStk']
15 for line in open('/proc/self/status').readlines():
16 l = re.split(r':\s*', line.strip(), 1)
20 fields = [d[k] for k in fields]
23 print ('%9s ' + ('%10s ' * len(fields))) % tuple([e1] + fields)
27 memtest [-n elements] [-c cycles]
29 n,number= number of objects per cycle
30 c,cycles= number of cycles to run
32 o = options.Options(sys.argv[0], optspec)
33 (opt, flags, extra) = o.parse(sys.argv[1:])
38 git.check_repo_or_die()
39 m = git.MultiPackIndex(git.repo('objects/pack'))
41 cycles = opt.cycles or 100
42 number = opt.number or 10000
45 f = open('/dev/urandom')
48 for c in xrange(cycles):
49 for n in xrange(number):
52 bytes = list(struct.unpack('!BBB', b)) + [0]*17
54 bin = struct.pack('!20s', s_from_bytes(bytes))
57 a[2] = chr(ord(b[2]) & 0xf0)
59 #print bin.encode('hex')