Python Interpreters Benchmarks
x64 ArchLinux : AMD® Ryzen 7 4700U®

 performance measurements

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

 N  CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
14.864.88131,784400  37% 7% 7% 9% 61% 5% 16% 4%

Read the ↓ make, command line, and program output logs to see how this program was run.

Read  benchmark to see what this program should do.

 notes

  source code

import os, time

from numba import jit


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
        )
    )

@jit(forceobj=True)
def fwrite(repetitions, size):
    fd = os.open("/dev/null", os.O_WRONLY)
    for i in range(repetitions):
        os.write(fd, b" " * size)

@jit(forceobj=True)
def fread(repetitions, size):
    fd = os.open("/dev/full", os.O_RDONLY)
    for i in range(repetitions):
        os.read(fd, size)

@jit(forceobj=True)
def file_write(repetitions, size):
    f = open("/dev/null", "w")
    for i in range(repetitions):
        f.write(" " * size)
    f.flush()

@jit(forceobj=True)
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

 Wed, 12 Jan 2022 11:57:39 GMT

COMMAND LINE:
 /usr/bin/python3 iobench.numba 1

PROGRAM OUTPUT NOT CHECKED:
CPUDispatcher(<function fread at 0x7faa88a352d0>) 100 bytes, 0.75us per write
CPUDispatcher(<function fwrite at 0x7faa889d1120>) 100 bytes, 0.58us per write
CPUDispatcher(<function fread at 0x7faa88a352d0>) 1000 bytes, 0.52us per write
CPUDispatcher(<function fwrite at 0x7faa889d1120>) 1000 bytes, 0.44us per write
CPUDispatcher(<function fread at 0x7faa88a352d0>) 10000 bytes, 0.89us per write
CPUDispatcher(<function fwrite at 0x7faa889d1120>) 10000 bytes, 0.50us per write
CPUDispatcher(<function file_read at 0x7faa88a35fc0>) 100 bytes, 0.35us per write
CPUDispatcher(<function file_write at 0x7faa88a35e10>) 100 bytes, 0.37us per write
CPUDispatcher(<function file_read at 0x7faa88a35fc0>) 1000 bytes, 0.49us per write
CPUDispatcher(<function file_write at 0x7faa88a35e10>) 1000 bytes, 0.30us per write
CPUDispatcher(<function file_read at 0x7faa88a35fc0>) 10000 bytes, 2.79us per write
CPUDispatcher(<function file_write at 0x7faa88a35e10>) 10000 bytes, 0.92us per write

Revised BSD license

  Home   Conclusions   License   Play