performance measurements

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

 N  CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
1,0008.248.3140,244449  0% 1% 0% 99%
4,000134.66134.7740,312449  1% 1% 0% 100%
16,0002,063.682,064.5840,236449  1% 1% 1% 100%

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

Read mandelbrot benchmark to see what this program should do.

 notes

Python 3.4.3 (default, Apr 4 2015, 09:21:43) [GCC 4.8.2] on linux

 mandelbrot Python 3 #5 program source code

# The Computer Language Benchmarks Game
# http://benchmarksgame.alioth.debian.org/
#
# contributed by Tupteq
# modified by Simon Descarpentries
# modified by Ivan Baldin
# 2to3 plus Daniel Nanz fix

import sys
from array import array
from multiprocessing import Pool

def do_row(fy):
    local_abs = abs
    two_over_size = 2.0 / size
    xr_offs = range(7, -1, -1)
    xr_iter = range(50)

    result = array('B')
    for x in range(7, size, 8):
        byte_acc = 0
        for offset in xr_offs:
            z = 0j
            c = two_over_size * (x - offset) + fy

            for i in xr_iter:
                z = z * z + c
                if local_abs(z) >= 2:
                    break
            else:
                byte_acc += 1 << offset

        result.append(byte_acc)

    if x != size - 1:
        result.append(byte_acc)

    return result.tostring()

def main(out):
    out.write(('P4\n%d %d\n' % (size, size)).encode('ASCII'))

    pool = Pool()
    step = 2.0j / size
    for row in pool.imap(do_row, (step*y-(1.5+1j) for y in range(size))):
        out.write(row)

if __name__ == '__main__':
    size = int(sys.argv[1])
    main(sys.stdout.buffer)

 make, command-line, and program output logs

Sun, 05 Apr 2015 00:58:30 GMT

MAKE:
mv mandelbrot.python3-5.python3 mandelbrot.python3-5.py
/usr/local/src/Python-3.4.3/bin/python3.4 -OO -c "from py_compile import compile; compile('mandelbrot.python3-5.py')"
0.05s to complete and log all make actions

COMMAND LINE:
/usr/local/src/Python-3.4.3/bin/python3.4 mandelbrot.python3-5.py 16000

(BINARY) PROGRAM OUTPUT NOT SHOWN

Revised BSD license

  Home   Conclusions   License   Play