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
|
fi
|
||||||
AM_CONDITIONAL([USE_CXXMPH], [test "$cxxmph" = true])
|
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.
|
# Unit tests based on the check library. Disabled by default.
|
||||||
# We do not use pkg-config because it is inconvenient for all developers to
|
# We do not use pkg-config because it is inconvenient for all developers to
|
||||||
# have check library installed.
|
# have check library installed.
|
||||||
|
|
|
@ -5,7 +5,9 @@ if USE_LIBCHECK
|
||||||
check_LTLIBRARIES = libcxxmph_test.la
|
check_LTLIBRARIES = libcxxmph_test.la
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if USE_BENCHMARKS
|
||||||
noinst_PROGRAMS = bm_map # bm_index - disabled because of cmph dependency
|
noinst_PROGRAMS = bm_map # bm_index - disabled because of cmph dependency
|
||||||
|
endif
|
||||||
bin_PROGRAMS = cxxmph
|
bin_PROGRAMS = cxxmph
|
||||||
|
|
||||||
cxxmph_includedir = $(includedir)/cxxmph/
|
cxxmph_includedir = $(includedir)/cxxmph/
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
#include "hopscotch_map.h"
|
#include "hopscotch_map.h"
|
||||||
#include "flat_hash_map.hpp"
|
|
||||||
|
|
||||||
#include "bm_common.h"
|
#include "bm_common.h"
|
||||||
#include "mph_map.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<mph_map<StringPiece, StringPiece>>("URLS100k"));
|
||||||
Benchmark::Register(new BM_CreateUrls<sparse_hash_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<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<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<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<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<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<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<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<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<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<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<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<dense_hash_map<uint64_t, uint64_t>>);
|
||||||
Benchmark::Register(new BM_SearchUint64<std::unordered_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<mph_map<uint64_t, uint64_t>>);
|
||||||
Benchmark::Register(new BM_SearchUint64<sparse_hash_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<tsl::hopscotch_map<uint64_t, uint64_t>>);
|
||||||
Benchmark::Register(new BM_SearchUint64<ska::flat_hash_map<uint64_t, uint64_t>>);
|
|
||||||
Benchmark::RunAll();
|
Benchmark::RunAll();
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,3 +5,11 @@ AC_DEFUN([AC_ENABLE_CXXMPH], [AC_ARG_ENABLE([cxxmph],
|
||||||
no) cxxmph=false ;;
|
no) cxxmph=false ;;
|
||||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-cxxmph]) ;;
|
*) AC_MSG_ERROR([bad value ${enableval} for --enable-cxxmph]) ;;
|
||||||
esac],[cxxmph=false])])
|
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