Modify framebuffer and NGA framebuffer to read screen size from board model dtb file. Optimise memory usuage of frame buffer
Add example minigui application with hooks to profiler (which writes results to S:\). Modified NGA framebuffer to run its own dfc queue at high priority
import string
import md5
from sys import argv
def MDPrint(str):
outstr = ''
for i in str:
o = ord(i)
outstr = (outstr
+ string.hexdigits[(o >> 4) & 0xF]
+ string.hexdigits[o & 0xF])
print outstr,
from time import time
def makestr(start, end):
result = ''
for i in range(start, end + 1):
result = result + chr(i)
return result
def MDTimeTrial():
TEST_BLOCK_SIZE = 1000
TEST_BLOCKS = 10000
TEST_BYTES = TEST_BLOCK_SIZE * TEST_BLOCKS
# initialize test data, need temporary string filler
filsiz = 1 << 8
filler = makestr(0, filsiz-1)
data = filler * (TEST_BLOCK_SIZE // filsiz)
data = data + filler[:(TEST_BLOCK_SIZE % filsiz)]
del filsiz, filler
# start timer
print 'MD5 time trial. Processing', TEST_BYTES, 'characters...'
t1 = time()
mdContext = md5.new()
for i in range(TEST_BLOCKS):
mdContext.update(data)
str = mdContext.digest()
t2 = time()
MDPrint(str)
print 'is digest of test input.'
print 'Seconds to process test input:', t2 - t1
print 'Characters processed per second:', TEST_BYTES / (t2 - t1)
def MDString(str):
MDPrint(md5.new(str).digest())
print '"' + str + '"'
def MDFile(filename):
f = open(filename, 'rb')
mdContext = md5.new()
while 1:
data = f.read(1024)
if not data:
break
mdContext.update(data)
MDPrint(mdContext.digest())
print filename
import sys
def MDFilter():
mdContext = md5.new()
while 1:
data = sys.stdin.read(16)
if not data:
break
mdContext.update(data)
MDPrint(mdContext.digest())
print
def MDTestSuite():
print 'MD5 test suite results:'
MDString('')
MDString('a')
MDString('abc')
MDString('message digest')
MDString(makestr(ord('a'), ord('z')))
MDString(makestr(ord('A'), ord('Z'))
+ makestr(ord('a'), ord('z'))
+ makestr(ord('0'), ord('9')))
MDString((makestr(ord('1'), ord('9')) + '0') * 8)
# Contents of file foo are "abc"
MDFile('foo')
# I don't wanna use getopt(), since I want to use the same i/f...
def main():
if len(argv) == 1:
MDFilter()
for arg in argv[1:]:
if arg[:2] == '-s':
MDString(arg[2:])
elif arg == '-t':
MDTimeTrial()
elif arg == '-x':
MDTestSuite()
else:
MDFile(arg)
main()