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
119.2719.3076,544367  2% 66% 3% 37%
119.1419.1876,884367  2% 2% 2% 100%
119.1519.1976,896367  2% 2% 100% 4%

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

Tue, 14 May 2019 09:16:54 GMT

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

PROGRAM OUTPUT NOT CHECKED:
<function fread at 0x00007fd559b37f60> 100 bytes, 0.39us per write
<function fwrite at 0x00007fd559a7a200> 100 bytes, 0.34us per write
<function fread at 0x00007fd559b37f60> 1000 bytes, 0.44us per write
<function fwrite at 0x00007fd559a7a200> 1000 bytes, 0.34us per write
<function fread at 0x00007fd559b37f60> 10000 bytes, 0.96us per write
<function fwrite at 0x00007fd559a7a200> 10000 bytes, 0.34us per write
<function file_read at 0x00007fd559a7a340> 100 bytes, 1.95us per write
<function file_write at 0x00007fd559a7a2a0> 100 bytes, 0.13us per write
<function file_read at 0x00007fd559a7a340> 1000 bytes, 8.00us per write
<function file_write at 0x00007fd559a7a2a0> 1000 bytes, 0.65us per write
<function file_read at 0x00007fd559a7a340> 10000 bytes, 62.72us per write
<function file_write at 0x00007fd559a7a2a0> 10000 bytes, 5.57us per write

Revised BSD license

  Home   Conclusions   License   Play