diff options
Diffstat (limited to 'third_party/immer/benchmark/config.hpp')
-rw-r--r-- | third_party/immer/benchmark/config.hpp | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/third_party/immer/benchmark/config.hpp b/third_party/immer/benchmark/config.hpp deleted file mode 100644 index c32ef5812ff8..000000000000 --- a/third_party/immer/benchmark/config.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// -// immer: immutable data structures for C++ -// Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente -// -// This software is distributed under the Boost Software License, Version 1.0. -// See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt -// - -#pragma once - -#include <nonius.h++> - -#include <immer/heap/gc_heap.hpp> -#include <immer/memory_policy.hpp> - -namespace { - -NONIUS_PARAM(N, std::size_t{1000}) - -struct gc_disable -{ - gc_disable() - { -#if IMMER_BENCHMARK_DISABLE_GC - GC_disable(); -#else - GC_gcollect(); -#endif - } - ~gc_disable() - { -#if IMMER_BENCHMARK_DISABLE_GC - GC_enable(); - GC_gcollect(); -#endif - } - gc_disable(const gc_disable&) = delete; - gc_disable(gc_disable&&) = delete; -}; - -template <typename Meter, typename Fn> -void measure(Meter& m, Fn&& fn) -{ - gc_disable guard; - return m.measure(std::forward<Fn>(fn)); -} - -using def_memory = immer::default_memory_policy; -using gc_memory = immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy>; -using gcf_memory = immer::memory_policy<immer::heap_policy<immer::gc_heap>, immer::no_refcount_policy, immer::gc_transience_policy, false>; -using basic_memory = immer::memory_policy<immer::heap_policy<immer::cpp_heap>, immer::refcount_policy>; -using safe_memory = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy>; -using unsafe_memory = immer::memory_policy<immer::unsafe_free_list_heap_policy<immer::cpp_heap>, immer::unsafe_refcount_policy>; - -} // anonymous namespace |