performance measurements

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
118.8918.9675,960367  81% 5% 23% 5%
118.9519.0375,516367  85% 4% 19% 6%
119.0219.1075,616367  83% 6% 23% 6%

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.

 notes

 iobench PyPy 3 program source code

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)

 make, command-line, and program output logs

Mon, 25 Mar 2019 12:09:04 GMT

COMMAND LINE:
/usr/bin/pypy3 iobench.pypy3 1

PROGRAM OUTPUT NOT CHECKED:
<function fread at 0x00007f52acf222a0> 100 bytes, 0.39us per write
<function fwrite at 0x00007f52acf22520> 100 bytes, 0.36us per write
<function fread at 0x00007f52acf222a0> 1000 bytes, 0.44us per write
<function fwrite at 0x00007f52acf22520> 1000 bytes, 0.38us per write
<function fread at 0x00007f52acf222a0> 10000 bytes, 1.18us per write
<function fwrite at 0x00007f52acf22520> 10000 bytes, 0.37us per write
<function file_read at 0x00007f52acf22660> 100 bytes, 1.93us per write
<function file_write at 0x00007f52acf225c0> 100 bytes, 0.12us per write
<function file_read at 0x00007f52acf22660> 1000 bytes, 7.69us per write
<function file_write at 0x00007f52acf225c0> 1000 bytes, 0.66us per write
<function file_read at 0x00007f52acf22660> 10000 bytes, 61.51us per write
<function file_write at 0x00007f52acf225c0> 10000 bytes, 5.68us per write

Revised BSD license

  Home   Conclusions   License   Play