Files
vystem/shelter/tools/generator/malloc_payload_gen.py
2026-03-31 22:15:00 +02:00

44 lines
1.4 KiB
Python

# SPDX-License-Identifier: MPL-2.0
import random
print("// SPDX-License-Identifier: MPL-2.0\n// This file contain the values to use as alloc size for the benchmark of sh_malloc and sh_free\n// It's autogenerated by tools/generator/malloc_payload_gen.py\n// Copy the output of this script in this file to regenerate it.")
print("#ifndef SH_LIB_PAYLOADS_TEST_MALLOC\n#define SH_LIB_PAYLOADS_TEST_MALLOC\n#include \"std/type.h\"")
print("__attribute__((section(\".data\"))) sh_uint32 test_malloc_small_size[10000]={",end="")
out=[]
lambd=0.006
while len(out)<10000:
val=int(random.expovariate(lambd))+2
if val<=1024:
out.append(val)
random.shuffle(out)
for i in range(len(out)):
print(out[i],end="")
if i!=(len(out)-1):
print(",",end="")
print("};")
print("__attribute__((section(\".data\"))) sh_uint32 test_malloc_big_size[1000]={",end="")
out=[]
lambd=0.006
while len(out)<1000:
val=int(random.expovariate(lambd))+2
if val<=25:
out.append(val)
random.shuffle(out)
for i in range(len(out)):
print(out[i],end="")
if i!=(len(out)-1):
print(",",end="")
print("};")
print("__attribute__((section(\".data\"))) sh_uint16 test_malloc_big_alloc[2000]={",end="")
out=[]
for i in range(0,1000):
out.append(i)
for i in range(0,1000):
out.append(i)
random.shuffle(out)
for i in range(len(out)):
print(out[i],end="")
if i!=(len(out)-1):
print(",",end="")
print("};")
print("#endif")