diff --git a/lab/file_buffer_test.py b/lab/file_buffer_test.py new file mode 100755 index 0000000..307672f --- /dev/null +++ b/lab/file_buffer_test.py @@ -0,0 +1,30 @@ +#!/usr/bin/python + +''' +file buffering performance test +''' + +import sys +import timeit + +fn = sys.argv[1] + +print "prime fs page cache...", +open(fn,'r').read() +print "done" + +def readall(fn, size): + fh = open(fn, 'r') + while True: + x = fh.read(size) + if len(x) == 0: + break + fh.close() + +for size in (1,4096,65536): + print "read %d bytes at a time..." % size + t = timeit.Timer('readall("%s", %d)' % (fn, size), + setup="from __main__ import readall") + s = t.timeit(10) + print "%9.5f seconds" % s + diff --git a/lab/stdin_buffer_test.py b/lab/stdin_buffer_test.py new file mode 100755 index 0000000..993d144 --- /dev/null +++ b/lab/stdin_buffer_test.py @@ -0,0 +1,28 @@ +#!/usr/bin/python + +''' +stdin buffering performance test + +./stdin_buffer_test.py 1 < /tmp/random.data +./stdin_buffer_test.py 4096 < /tmp/random.data +./stdin_buffer_test.py 65536 < /tmp/random.data + +''' + +import sys +import timeit + +size = int(sys.argv[1]) + +def readall(size): + while True: + x = sys.stdin.read(size) + if len(x) == 0: + break + +print "read %d bytes at a time..." % size +t = timeit.Timer('readall(%d)' % (size), + setup="from __main__ import readall") +s = t.timeit(1) +print "%9.5f seconds" % s +