Each table row shows performance measurements for this Python 3 program with a particular command-line input value N.
| N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
|---|---|---|---|---|---|
| 1 | 2.99 | 3.03 | 10,512 | 367 | 1% 2% 0% 0% 100% 0% 0% 1% |
Read the ↓ make, command line, and program output logs to see how this program was run.
Read iobench benchmark to see what this program should do.
Python 3.3.1 (default, Apr 11 2013, 12:45:45) [GCC 4.7.2] on linux
import os, time
def measure(func, repetitions, size):
t0 = time.time()
func(repetitions, size)
print(
func,
"%d bytes, %.2fus per write" % (
size,
(time.time() - t0) / repetitions * 1000 * 1000
)
)
def fwrite(repetitions, size):
fd = os.open("/dev/null", os.O_WRONLY)
for i in range(repetitions):
os.write(fd, b" " * size)
def fread(repetitions, size):
fd = os.open("/dev/full", os.O_RDONLY)
for i in range(repetitions):
os.read(fd, size)
def file_write(repetitions, size):
f = open("/dev/null", "w")
for i in range(repetitions):
f.write(" " * size)
f.flush()
def file_read(repetitions, size):
f = open("/dev/full")
for i in range(repetitions):
f.read(size)
if __name__ == '__main__':
measure(fread, 1000000, 100)
measure(fwrite, 1000000, 100)
measure(fread, 1000000, 1000)
measure(fwrite, 1000000, 1000)
measure(fread, 100000, 10000)
measure(fwrite, 100000, 10000)
measure(file_read, 1000000, 100)
measure(file_write, 1000000, 100)
measure(file_read, 1000000, 1000)
measure(file_write, 1000000, 1000)
measure(file_read, 100000, 10000)
measure(file_write, 100000, 10000)
Sun, 30 Jul 2023 10:51:11 GMT COMMAND LINE: /usr/bin/python3 iobench.python3 1 PROGRAM OUTPUT NOT CHECKED: <function fread at 0x7f82b21d9080> 100 bytes, 0.31us per write <function fwrite at 0x7f82b21d8f40> 100 bytes, 0.25us per write <function fread at 0x7f82b21d9080> 1000 bytes, 0.38us per write <function fwrite at 0x7f82b21d8f40> 1000 bytes, 0.31us per write <function fread at 0x7f82b21d9080> 10000 bytes, 0.67us per write <function fwrite at 0x7f82b21d8f40> 10000 bytes, 0.38us per write <function file_read at 0x7f82b21d91c0> 100 bytes, 0.09us per write <function file_write at 0x7f82b21d9120> 100 bytes, 0.08us per write <function file_read at 0x7f82b21d91c0> 1000 bytes, 0.53us per write <function file_write at 0x7f82b21d9120> 1000 bytes, 0.35us per write <function file_read at 0x7f82b21d91c0> 10000 bytes, 3.62us per write <function file_write at 0x7f82b21d9120> 10000 bytes, 2.01us per write