@@ -136,6 +136,85 @@ 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,
180+ jemalloc_pool_fixedprovider, 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_fixedprovider,
188+ uniform_alloc_size,
189+ pool_allocator<jemalloc_pool<fixed_provider>>);
190+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark, jemalloc_pool_uniform)
191+ ->Apply(&default_multiple_alloc_uniform_size)
192+ ->Apply(&multithreaded);
193+
194+ #endif
195+
196+ #ifdef UMF_POOL_SCALABLE_ENABLED
197+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
198+ scalable_pool_fix_fixedprovider, fixed_alloc_size,
199+ pool_allocator<scalable_pool<fixed_provider>>);
200+
201+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
202+ scalable_pool_fix_fixedprovider)
203+ ->Apply(&default_multiple_alloc_fix_size)
204+ ->Apply(&multithreaded);
205+
206+ UMF_BENCHMARK_TEMPLATE_DEFINE (multiple_malloc_free_benchmark,
207+ scalable_pool_uniform_fixedprovider,
208+ uniform_alloc_size,
209+ pool_allocator<scalable_pool<fixed_provider>>);
210+
211+ UMF_BENCHMARK_REGISTER_F (multiple_malloc_free_benchmark,
212+ scalable_pool_uniform_fixedprovider)
213+ ->Apply(&default_multiple_alloc_uniform_size)
214+ ->Apply(&multithreaded);
215+
216+ #endif
217+
139218// BENCHMARK_MAIN();
140219int main (int argc, char **argv) {
141220 if (initAffinityMask ()) {
0 commit comments