performance measurements

Each table row shows performance measurements for this PyPy program with a particular command-line input value N.

 N  CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
123.8923.9486,660370  1% 5% 1% 100%
123.8123.8586,856370  1% 5% 1% 100%
123.9323.9786,764370  1% 5% 1% 100%

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 program source code

import os, time

def measure(func, num1, num2):
    t0 = time.time()
    func(num1, num2)
    print func.__code__.co_name, "%d bytes, %.2fus per write" % (
        num2, (time.time() - t0) / num1 * 1000 * 1000)

def fwrite(num, num2):
    fd = os.open("/dev/null", os.O_WRONLY)
    for i in xrange(num):
        os.write(fd, " " * num2)

def fread(num, num2):
    fd = os.open("/dev/full", os.O_RDONLY)
    for i in xrange(num):
        os.read(fd, num2)

def file_write(num, num2):
    f = open("/dev/null", "w")
    for i in xrange(num):
        f.write(" " * num2)
    f.flush()

def file_read(num, num2):
    f = open("/dev/full")
    for i in xrange(num):
        f.read(num2)

if __name__ == '__main__':
    measure(fread, 10000000, 100)
    measure(fwrite, 10000000, 100)
    measure(fread, 10000000, 1000)
    measure(fwrite, 10000000, 1000)
    measure(fread, 1000000, 10000)
    measure(fwrite, 1000000, 10000)
    measure(file_read, 10000000, 100)
    measure(file_write, 10000000, 100)
    measure(file_read, 10000000, 1000)
    measure(file_write, 10000000, 1000)
    measure(file_read, 1000000, 10000)
    measure(file_write, 1000000, 10000)

 make, command-line, and program output logs

Mon, 29 Apr 2019 21:16:58 GMT

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

PROGRAM OUTPUT NOT CHECKED:
fread 100 bytes, 0.37us per write
fwrite 100 bytes, 0.32us per write
fread 1000 bytes, 0.42us per write
fwrite 1000 bytes, 0.32us per write
fread 10000 bytes, 0.92us per write
fwrite 10000 bytes, 0.32us per write
file_read 100 bytes, 0.08us per write
file_write 100 bytes, 0.06us per write
file_read 1000 bytes, 0.24us per write
file_write 1000 bytes, 0.13us per write
file_read 10000 bytes, 2.59us per write
file_write 10000 bytes, 0.67us per write

Revised BSD license

  Home   Conclusions   License   Play