[Python-checkins] r68032 - sandbox/trunk/iobench/iobench.py

antoine.pitrou python-checkins at python.org
Mon Dec 29 23:19:11 CET 2008


Author: antoine.pitrou
Date: Mon Dec 29 23:19:10 2008
New Revision: 68032

Log:
Add a test for interleaved seeks and writes.



Modified:
   sandbox/trunk/iobench/iobench.py

Modified: sandbox/trunk/iobench/iobench.py
==============================================================================
--- sandbox/trunk/iobench/iobench.py	(original)
+++ sandbox/trunk/iobench/iobench.py	Mon Dec 29 23:19:10 2008
@@ -158,6 +158,24 @@
     for i in xrange(0, len(source), 4096):
         f.write(source[i:i+4096])
 
+ at with_open_mode("w+")
+ at with_sizes("medium")
+def modify_seek_forward_bytewise(f, source):
+    """ modify one byte/char every two """
+    f.seek(0)
+    for i in xrange(0, len(source), 2):
+        f.write(source[i:i+1])
+        f.seek(i+2)
+
+ at with_open_mode("w+")
+ at with_sizes("medium")
+def modify_seek_forward_blockwise(f, source):
+    """ modify 1000 bytes/chars every 2000 """
+    f.seek(0)
+    for i in xrange(0, len(source), 2000):
+        f.write(source[i:i+1000])
+        f.seek(i+2000)
+
 
 read_tests = [
     read_bytewise, read_small_chunks, read_lines, read_big_chunks,
@@ -171,6 +189,7 @@
 
 modify_tests = [
     modify_bytewise, modify_small_chunks, modify_medium_chunks,
+    modify_seek_forward_bytewise, modify_seek_forward_blockwise,
 ]
 
 def run_during(duration, func):


More information about the Python-checkins mailing list