Python Interpreters Benchmarks
x64 ArchLinux : Intel® i5-7200U®

 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
1122.78116.50562,216367  27% 37% 5% 46%

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

 Thu, 18 Jun 2020 00:20:18 GMT

COMMAND LINE:
 /usr/lib/jvm/java-8-graalvm/bin/graalpython iobench.graal 1

PROGRAM OUTPUT NOT CHECKED:
<function fread at 0x12e75327> 100 bytes, 2.65us per write
<function fwrite at 0x6fb28d5d> 100 bytes, 1.68us per write
<function fread at 0x12e75327> 1000 bytes, 2.69us per write
<function fwrite at 0x6fb28d5d> 1000 bytes, 2.58us per write
<function fread at 0x12e75327> 10000 bytes, 2.41us per write
<function fwrite at 0x6fb28d5d> 10000 bytes, 14.44us per write
<function file_read at 0x59f56bb> 100 bytes, 6.74us per write
<function file_write at 0x6d65ae2b> 100 bytes, 6.74us per write
<function file_read at 0x59f56bb> 1000 bytes, 6.40us per write
<function file_write at 0x6d65ae2b> 1000 bytes, 42.80us per write
<function file_read at 0x59f56bb> 10000 bytes, 17.87us per write
<function file_write at 0x6d65ae2b> 10000 bytes, 405.57us 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