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
124.1124.2086,500370  94% 4% 10% 5%
124.2324.2986,832370  17% 88% 4% 5%
124.0624.1486,328370  75% 5% 24% 9%

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, 25 Mar 2019 12:07:51 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.05us per write
file_read 1000 bytes, 0.26us per write
file_write 1000 bytes, 0.13us per write
file_read 10000 bytes, 2.73us per write
file_write 10000 bytes, 0.69us per write

Revised BSD license

  Home   Conclusions   License   Play