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.9423.9986,712370  8% 51% 3% 52%
123.9824.0386,448370  8% 83% 4% 19%
123.9824.0386,840370  7% 100% 2% 3%

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

Tue, 12 Feb 2019 12:06:05 GMT

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

PROGRAM OUTPUT NOT CHECKED:
fread 100 bytes, 0.37us per write
fwrite 100 bytes, 0.33us per write
fread 1000 bytes, 0.41us per write
fwrite 1000 bytes, 0.33us per write
fread 10000 bytes, 0.90us per write
fwrite 10000 bytes, 0.33us per write
file_read 100 bytes, 0.08us per write
file_write 100 bytes, 0.05us per write
file_read 1000 bytes, 0.24us per write
file_write 1000 bytes, 0.13us per write
file_read 10000 bytes, 2.60us per write
file_write 10000 bytes, 0.68us per write

Revised BSD license

  Home   Conclusions   License   Play