performance measurements

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

 N  CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
1143.70134.52609,580367  11% 28% 66% 21%

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 Graal 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, 12 Feb 2019 12:03:50 GMT

COMMAND LINE:
/usr/bin/graalpython iobench.graal 1

PROGRAM OUTPUT NOT CHECKED:
<function fread at 0x3857c8dd> 100 bytes, 1.84us per write
<function fwrite at 0x1e0f17dd> 100 bytes, 2.68us per write
<function fread at 0x3857c8dd> 1000 bytes, 1.58us per write
<function fwrite at 0x1e0f17dd> 1000 bytes, 14.68us per write
<function fread at 0x3857c8dd> 10000 bytes, 1.56us per write
<function fwrite at 0x1e0f17dd> 10000 bytes, 137.35us per write
<function file_read at 0x7820cd01> 100 bytes, 5.18us per write
<function file_write at 0xac156fa> 100 bytes, 6.59us per write
<function file_read at 0x7820cd01> 1000 bytes, 4.88us per write
<function file_write at 0xac156fa> 1000 bytes, 41.82us per write
<function file_read at 0x7820cd01> 10000 bytes, 15.57us per write
<function file_write at 0xac156fa> 10000 bytes, 393.68us per write

Please note: This Python implementation is in the very early stages, and can run little more than basic benchmarks at this point.

Revised BSD license

  Home   Conclusions   License   Play