#!/usr/bin/env python3

import timeit

def f():
    buf = b""

    for i in range(20480):
        buf += b'c'

    return buf

def g():
    buf = bytearray()

    val = b'c'[0]

    for i in range(20480):
        buf.append(val)

    return bytes(buf)

def h():
    buf = [] 

    for i in range(20480):
        buf.append(b'c')

    return b"".join(buf)

def j():
    def inner():
        for i in range(20480):
            yield b'c'

    return b"".join(inner())

if __name__ == "__main__":
    print(timeit.repeat(f, number=3))
    print(timeit.repeat(g, number=3))
    print(timeit.repeat(h, number=3))
    print(timeit.repeat(j, number=3))