diff --git a/benchmarks/SimpleAlloc/SimpleAlloc.cpp b/benchmarks/SimpleAlloc/SimpleAlloc.cpp index cd5d7906a..683d4834e 100644 --- a/benchmarks/SimpleAlloc/SimpleAlloc.cpp +++ b/benchmarks/SimpleAlloc/SimpleAlloc.cpp @@ -2,9 +2,12 @@ using namespace Upp; -#define N 20000000 +#define N 50000000 +#define MIX 30 void *ptr[N]; +void *mix[MIX]; +int len[N]; CONSOLE_APP_MAIN { @@ -20,4 +23,16 @@ CONSOLE_APP_MAIN delete[] ptr[i]; RLOG("Free " << tm); } + { + for(int i = 0; i < N; i++) + len[i] = Random(1000 + 500); + TimeStop tm; + for(int i = 0; i < N / MIX; i++) { + int ii = i % MIX; + if(mix[ii]) + delete[] mix[ii]; + mix[ii] = new byte[len[i]]; + } + RLOG("Mix " << tm); + } } diff --git a/benchmarks/SimpleAlloc/SimpleAlloc.upp b/benchmarks/SimpleAlloc/SimpleAlloc.upp index 39575f31a..22b5ba2c1 100644 --- a/benchmarks/SimpleAlloc/SimpleAlloc.upp +++ b/benchmarks/SimpleAlloc/SimpleAlloc.upp @@ -7,6 +7,6 @@ file SimpleAlloc.cpp; mainconfig - "" = "", - "" = "USEMALLOC"; + "" = "MT", + "" = "USEMALLOC MT";