Each table row shows performance measurements for this PyPy 3 program with a particular command-line input value N.
| N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
|---|---|---|---|---|---|
| 1 | 5.29 | 5.29 | 74,204 | 367 | 100% 0% 0% 1% 0% 0% 2% 0% |
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.
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)
Fri, 09 Sep 2022 06:01:33 GMT COMMAND LINE: /usr/bin/pypy3 iobench.pypy3 1 PROGRAM OUTPUT NOT CHECKED: <function fread at 0x00007f132914d7e0> 100 bytes, 0.27us per write <function fwrite at 0x00007f132914dba0> 100 bytes, 0.18us per write <function fread at 0x00007f132914d7e0> 1000 bytes, 0.31us per write <function fwrite at 0x00007f132914dba0> 1000 bytes, 0.18us per write <function fread at 0x00007f132914d7e0> 10000 bytes, 0.77us per write <function fwrite at 0x00007f132914dba0> 10000 bytes, 0.18us per write <function file_read at 0x00007f132914dce0> 100 bytes, 0.23us per write <function file_write at 0x00007f132914dc40> 100 bytes, 0.02us per write <function file_read at 0x00007f132914dce0> 1000 bytes, 2.01us per write <function file_write at 0x00007f132914dc40> 1000 bytes, 0.10us per write <function file_read at 0x00007f132914dce0> 10000 bytes, 17.25us per write <function file_write at 0x00007f132914dc40> 10000 bytes, 0.96us per write