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