from timeit import timeit
from multiprocessing import shared_memory
def test(size):
data = [1 for i in range(size)]
dataM = shared_memory.ShareableList(data, name=f"data{size}")
print(f'''Size = {dataM.shm.size}''')
print(f'''{timeit("max(data)", globals=locals(), number=1):>.3e}''')
print(f'''{timeit("max(dataM)", globals=locals(), number=1):>.3e}''')
test(1000)
Size = 28672 2.357e-05 4.543e-03
test(10000)
Size = 253952 2.026e-04 3.832e-02
test(100000)
Size = 2502656 1.526e-03 3.016e-01