use sparsehash

This commit is contained in:
Jacob Dufault 2017-04-07 18:35:12 -07:00
parent 820a1dc093
commit 22cc140d80
4 changed files with 15 additions and 3 deletions

3
.gitmodules vendored
View File

@ -4,3 +4,6 @@
[submodule "third_party/doctest"]
path = third_party/doctest
url = https://github.com/onqtam/doctest
[submodule "third_party/sparsehash"]
path = third_party/sparsehash
url = https://github.com/sparsehash/sparsehash

View File

@ -3,6 +3,8 @@
#include "indexer.h"
#include "serializer.h"
#include <sparsehash/dense_hash_map>
using Usr = std::string;
struct QueryableFile;
@ -234,7 +236,12 @@ struct QueryableDatabase {
std::vector<QueryableVarDef> vars;
// Lookup symbol based on a usr.
std::unordered_map<Usr, SymbolIdx> usr_to_symbol;
google::dense_hash_map<Usr, SymbolIdx> usr_to_symbol;
QueryableDatabase() {
usr_to_symbol.set_empty_key("");
}
//std::unordered_map<Usr, SymbolIdx> usr_to_symbol;
// Insert the contents of |update| into |db|.
void ApplyIndexUpdate(IndexUpdate* update);

1
third_party/sparsehash vendored Submodule

@ -0,0 +1 @@
Subproject commit 4cb924025b8c622d1a1e11f4c1e9db15410c75fb

View File

@ -88,15 +88,16 @@ def build(bld):
excl=['libcxx/*', '*tests/*', 'third_party/*'])
bld.program(
source=cc_files,
cxxflags=['-std=c++11', '-Wall'],
cxxflags=['-O3', '-std=c++11', '-Wall'],
includes=[
'third_party/',
'third_party/doctest/',
'third_party/rapidjson/include',
'third_party/sparsehash/src',
CLANG_INCLUDE_DIR],
lib=[
'clang',
#'rt',
'rt',
'pthread'],
libpath=[CLANG_LIB_DIR],
rpath=[CLANG_LIB_DIR],