@@ -136,6 +136,84 @@ 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+ // reduce iterations, as this benchmark is slower than others
147+ ->Iterations(50000 )
148+ ->Apply(&singlethreaded);
149+
150+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark, fixed_provider,
151+ fixed_alloc_size,
152+ provider_allocator<fixed_provider>);
153+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark, fixed_provider)
154+ ->Apply(&default_multiple_alloc_fix_size)
155+ // reduce iterations, as this benchmark is slower than others
156+ ->Iterations(50000 )
157+ ->Apply(&singlethreaded);
158+
159+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
160+ disjoint_pool_fix_fixedprovider, fixed_alloc_size,
161+ pool_allocator<disjoint_pool<fixed_provider>>);
162+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
163+ disjoint_pool_fix_fixedprovider)
164+ ->Apply(&default_multiple_alloc_fix_size)
165+ ->Apply(&multithreaded);
166+
167+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
168+ disjoint_pool_uniform_fixedprovider,
169+ uniform_alloc_size,
170+ pool_allocator<disjoint_pool<fixed_provider>>);
171+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
172+ disjoint_pool_uniform_fixedprovider)
173+ ->Apply(&default_multiple_alloc_uniform_size)
174+ ->Apply(&singlethreaded);
175+ // TODO: change to multithreaded
176+ // ->Apply(&multithreaded);
177+
178+ #ifdef UMF_POOL_JEMALLOC_ENABLED
179+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark, jemalloc_pool_fix,
180+ fixed_alloc_size,
181+ pool_allocator<jemalloc_pool<fixed_provider>>);
182+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark, jemalloc_pool_fix)
183+ ->Apply(&default_multiple_alloc_fix_size)
184+ ->Apply(&multithreaded);
185+
186+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
187+ jemalloc_pool_uniform, uniform_alloc_size,
188+ pool_allocator<jemalloc_pool<fixed_provider>>);
189+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark, jemalloc_pool_uniform)
190+ ->Apply(&default_multiple_alloc_uniform_size)
191+ ->Apply(&multithreaded);
192+
193+ #endif
194+
195+ #ifdef UMF_POOL_SCALABLE_ENABLED
196+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
197+ scalable_pool_fix_fixedprovider, fixed_alloc_size,
198+ pool_allocator<scalable_pool<fixed_provider>>);
199+
200+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
201+ scalable_pool_fix_fixedprovider)
202+ ->Apply(&default_multiple_alloc_fix_size)
203+ ->Apply(&multithreaded);
204+
205+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
206+ scalable_pool_uniform_fixedprovider,
207+ uniform_alloc_size,
208+ pool_allocator<scalable_pool<fixed_provider>>);
209+
210+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
211+ scalable_pool_uniform_fixedprovider)
212+ ->Apply(&default_multiple_alloc_uniform_size)
213+ ->Apply(&multithreaded);
214+
215+ #endif
216+
139217// BENCHMARK_MAIN();
140218int main (int argc, char **argv) {
141219 if (initAffinityMask ()) {
0 commit comments