Make benchmarks optional and dependent on hopscotch_map.
This commit is contained in:
parent
6e9f152f92
commit
9209046797
@ -53,6 +53,14 @@ if test x$cxxmph = xtrue; then
|
||||
fi
|
||||
AM_CONDITIONAL([USE_CXXMPH], [test "$cxxmph" = true])
|
||||
|
||||
AC_ENABLE_BENCHMARKS
|
||||
if test x$benchmarks = xtrue; then
|
||||
AC_LANG_PUSH([C++])
|
||||
AC_CHECK_HEADERS([hopscotch_map.h])
|
||||
AC_LANG_POP([C++])
|
||||
fi
|
||||
AM_CONDITIONAL([USE_BENCHMARKS], [test "$benchmarks" = true])
|
||||
|
||||
# Unit tests based on the check library. Disabled by default.
|
||||
# We do not use pkg-config because it is inconvenient for all developers to
|
||||
# have check library installed.
|
||||
|
@ -5,7 +5,9 @@ if USE_LIBCHECK
|
||||
check_LTLIBRARIES = libcxxmph_test.la
|
||||
endif
|
||||
|
||||
if USE_BENCHMARKS
|
||||
noinst_PROGRAMS = bm_map # bm_index - disabled because of cmph dependency
|
||||
endif
|
||||
bin_PROGRAMS = cxxmph
|
||||
|
||||
cxxmph_includedir = $(includedir)/cxxmph/
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
|
||||
#include "hopscotch_map.h"
|
||||
#include "flat_hash_map.hpp"
|
||||
|
||||
#include "bm_common.h"
|
||||
#include "mph_map.h"
|
||||
@ -104,27 +104,23 @@ int main(int argc, char** argv) {
|
||||
Benchmark::Register(new BM_CreateUrls<mph_map<StringPiece, StringPiece>>("URLS100k"));
|
||||
Benchmark::Register(new BM_CreateUrls<sparse_hash_map<StringPiece, StringPiece>>("URLS100k"));
|
||||
Benchmark::Register(new BM_CreateUrls<tsl::hopscotch_map<StringPiece, StringPiece>>("URLS100k"));
|
||||
Benchmark::Register(new BM_CreateUrls<ska::flat_hash_map<StringPiece, StringPiece>>("URLS100k"));
|
||||
|
||||
Benchmark::Register(new BM_SearchUrls<dense_hash_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0));
|
||||
Benchmark::Register(new BM_SearchUrls<std::unordered_map<StringPiece, StringPiece, Murmur3StringPiece>>("URLS100k", 10*1000 * 1000, 0));
|
||||
Benchmark::Register(new BM_SearchUrls<mph_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0));
|
||||
Benchmark::Register(new BM_SearchUrls<sparse_hash_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0));
|
||||
Benchmark::Register(new BM_SearchUrls<tsl::hopscotch_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0));
|
||||
Benchmark::Register(new BM_SearchUrls<ska::flat_hash_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0));
|
||||
|
||||
Benchmark::Register(new BM_SearchUrls<dense_hash_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0.9));
|
||||
Benchmark::Register(new BM_SearchUrls<std::unordered_map<StringPiece, StringPiece, Murmur3StringPiece>>("URLS100k", 10*1000 * 1000, 0.9));
|
||||
Benchmark::Register(new BM_SearchUrls<mph_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0.9));
|
||||
Benchmark::Register(new BM_SearchUrls<sparse_hash_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0.9));
|
||||
Benchmark::Register(new BM_SearchUrls<tsl::hopscotch_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0.9));
|
||||
Benchmark::Register(new BM_SearchUrls<ska::flat_hash_map<StringPiece, StringPiece>>("URLS100k", 10*1000 * 1000, 0.9));
|
||||
|
||||
Benchmark::Register(new BM_SearchUint64<dense_hash_map<uint64_t, uint64_t>>);
|
||||
Benchmark::Register(new BM_SearchUint64<std::unordered_map<uint64_t, uint64_t>>);
|
||||
Benchmark::Register(new BM_SearchUint64<mph_map<uint64_t, uint64_t>>);
|
||||
Benchmark::Register(new BM_SearchUint64<sparse_hash_map<uint64_t, uint64_t>>);
|
||||
Benchmark::Register(new BM_SearchUint64<tsl::hopscotch_map<uint64_t, uint64_t>>);
|
||||
Benchmark::Register(new BM_SearchUint64<ska::flat_hash_map<uint64_t, uint64_t>>);
|
||||
Benchmark::RunAll();
|
||||
}
|
||||
|
@ -5,3 +5,11 @@ AC_DEFUN([AC_ENABLE_CXXMPH], [AC_ARG_ENABLE([cxxmph],
|
||||
no) cxxmph=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-cxxmph]) ;;
|
||||
esac],[cxxmph=false])])
|
||||
|
||||
AC_DEFUN([AC_ENABLE_BENCHMARKS], [AC_ARG_ENABLE([benchmarks],
|
||||
[ --enable-benchmarks enable cxxmph benchmarks against other libs ],
|
||||
[case "${enableval}" in
|
||||
yes) benchmarks=true ;;
|
||||
no) benchmarks=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-benchmarks]) ;;
|
||||
esac],[benchmarks=false])])
|
||||
|
Loading…
Reference in New Issue
Block a user