Brython 3.8.7 performance compared to CPython 3.8.0

User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0

Test Brython
(100 = CPython)
Code
simple assignment63
for i in range(1000000):
    a = 1
augmented assignment80
a = 0
for i in range(1000000):
    a += 1
simple assignment to float190
for i in range(1000000):
    a = 1.0
build dictionary432
for i in range(1000000):
    a = {0: 0}
build dictionary 2207
d = {}
for i in range(100000):
    d[i] = i
set dictionary item205
a = {0: 0}
for i in range(1000000):
    a[0] = i
build set1092
for i in range(1000000):
    a = {0, 2.7, "x"}
build list86
for i in range(1000000):
    a = [1, 2, 3]
set list item101
a = [0]
for i in range(1000000):
    a[0] = i
integer addition118
a, b, c = 1, 2, 3
for i in range(1000000):
    a + b + c
string addition334
a, b, c = 'a', 'b', 'c'
for i in range(1000000):
    a + b + c
cast int to string131
for i in range(100000):
    str(i)
create function without arguments690
for i in range(1000000):
    def f():
        pass
create function, single positional argument700
for i in range(1000000):
    def f(x):
        pass
create function, complex arguments1018
for i in range(1000000):
    def f(x, y=1, *args, **kw):
        pass
function call1244
def f(x):
    return x
for i in range(1000000):
    f(i)
function call, complex arguments1456
def f(x, y=0, *args, **kw):
    return x
for i in range(100000):
    f(i, 5, 6, a=8)
create simple class606
for i in range(10000):
    class A:
        pass
create class with init648
for i in range(10000):
    class A:
        def __init__(self, x):
            self.x = x
create instance of simple class353
class A:
    pass

for i in range(1000000):
    A()
create instance of class with init1595
class A:
    def __init__(self, x):
        self.x = x

for i in range(100000):
    A(i)
call instance method3027
class A:
    def __init__(self, x):
        self.x = x

    def f(self):
        return self.x

a = A(1)
for i in range(100000):
    a.f()