@@ -136,6 +136,81 @@ UMF_BENCHMARK_REGISTER_F(multiple_malloc_free_benchmark, scalable_pool_uniform)
136136
137137#endif
138138
139+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
140+ proxy_pool_fixedprovider, fixed_alloc_size,
141+ pool_allocator<proxy_pool<fixed_provider>>);
142+
143+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
144+ proxy_pool_fixedprovider)
145+ ->Apply(&default_multiple_alloc_fix_size)
146+ ->Apply(&singlethreaded);
147+
148+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark, fixed_provider,
149+ fixed_alloc_size,
150+ provider_allocator<fixed_provider>);
151+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark, fixed_provider)
152+ ->Apply(&default_multiple_alloc_fix_size)
153+ ->Apply(&singlethreaded);
154+
155+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
156+ disjoint_pool_fix_fixedprovider, fixed_alloc_size,
157+ pool_allocator<disjoint_pool<fixed_provider>>);
158+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
159+ disjoint_pool_fix_fixedprovider)
160+ ->Apply(&default_multiple_alloc_fix_size)
161+ ->Apply(&multithreaded);
162+
163+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
164+ disjoint_pool_uniform_fixedprovider,
165+ uniform_alloc_size,
166+ pool_allocator<disjoint_pool<fixed_provider>>);
167+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
168+ disjoint_pool_uniform_fixedprovider)
169+ ->Apply(&default_multiple_alloc_uniform_size)
170+ ->Apply(&singlethreaded);
171+ // TODO: change to multithreaded
172+ // ->Apply(&multithreaded);
173+
174+ #ifdef UMF_POOL_JEMALLOC_ENABLED
175+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
176+ jemalloc_pool_fixedprovider, fixed_alloc_size,
177+ pool_allocator<jemalloc_pool<fixed_provider>>);
178+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark, jemalloc_pool_fix)
179+ ->Apply(&default_multiple_alloc_fix_size)
180+ ->Apply(&multithreaded);
181+
182+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
183+ jemalloc_pool_uniform_fixedprovider,
184+ uniform_alloc_size,
185+ pool_allocator<jemalloc_pool<fixed_provider>>);
186+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark, jemalloc_pool_uniform)
187+ ->Apply(&default_multiple_alloc_uniform_size)
188+ ->Apply(&multithreaded);
189+
190+ #endif
191+
192+ #ifdef UMF_POOL_SCALABLE_ENABLED
193+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
194+ scalable_pool_fix_fixedprovider, fixed_alloc_size,
195+ pool_allocator<scalable_pool<fixed_provider>>);
196+
197+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
198+ scalable_pool_fix_fixedprovider)
199+ ->Apply(&default_multiple_alloc_fix_size)
200+ ->Apply(&multithreaded);
201+
202+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
203+ scalable_pool_uniform_fixedprovider,
204+ uniform_alloc_size,
205+ pool_allocator<scalable_pool<fixed_provider>>);
206+
207+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
208+ scalable_pool_uniform_fixedprovider)
209+ ->Apply(&default_multiple_alloc_uniform_size)
210+ ->Apply(&multithreaded);
211+
212+ #endif
213+
139214// BENCHMARK_MAIN();
140215int main (int argc, char **argv) {
141216 if (initAffinityMask ()) {
0 commit comments