diff --git a/cpp/src/db/Serializer.cpp b/cpp/src/db/ExecutionEngine.cpp similarity index 77% rename from cpp/src/db/Serializer.cpp rename to cpp/src/db/ExecutionEngine.cpp index 595cd4731c..9aea3f7ea1 100644 --- a/cpp/src/db/Serializer.cpp +++ b/cpp/src/db/ExecutionEngine.cpp @@ -1,11 +1,11 @@ #include -#include "Serializer.h" +#include "ExecutionEngine.h" namespace zilliz { namespace vecwise { namespace engine { -Status Serializer::AddWithIds(const std::vector& vectors, const std::vector& vector_ids) { +Status ExecutionEngine::AddWithIds(const std::vector& vectors, const std::vector& vector_ids) { long n1 = (long)vectors.size(); long n2 = (long)vector_ids.size(); if (n1 != n2) { diff --git a/cpp/src/db/Serializer.h b/cpp/src/db/ExecutionEngine.h similarity index 90% rename from cpp/src/db/Serializer.h rename to cpp/src/db/ExecutionEngine.h index dcb32e0b05..4b08149f45 100644 --- a/cpp/src/db/Serializer.h +++ b/cpp/src/db/ExecutionEngine.h @@ -8,7 +8,7 @@ namespace zilliz { namespace vecwise { namespace engine { -class Serializer { +class ExecutionEngine { public: Status AddWithIds(const std::vector& vectors, @@ -24,7 +24,7 @@ public: virtual Status Cache() = 0; - virtual ~Serializer() {} + virtual ~ExecutionEngine() {} }; diff --git a/cpp/src/db/FaissSerializer.cpp b/cpp/src/db/FaissExecutionEngine.cpp similarity index 66% rename from cpp/src/db/FaissSerializer.cpp rename to cpp/src/db/FaissExecutionEngine.cpp index b2abb3a19c..ffa3ef3c24 100644 --- a/cpp/src/db/FaissSerializer.cpp +++ b/cpp/src/db/FaissExecutionEngine.cpp @@ -3,7 +3,7 @@ #include #include -#include "FaissSerializer.h" +#include "FaissExecutionEngine.h" namespace zilliz { namespace vecwise { @@ -11,30 +11,30 @@ namespace engine { const std::string IndexType = "IDMap,Flat"; -FaissSerializer::FaissSerializer(uint16_t dimension, const std::string& location) +FaissExecutionEngine::FaissExecutionEngine(uint16_t dimension, const std::string& location) : pIndex_(faiss::index_factory(dimension, IndexType.c_str())), location_(location) { } -Status FaissSerializer::AddWithIds(long n, const float *xdata, const long *xids) { +Status FaissExecutionEngine::AddWithIds(long n, const float *xdata, const long *xids) { pIndex_->add_with_ids(n, xdata, xids); return Status::OK(); } -size_t FaissSerializer::Count() const { +size_t FaissExecutionEngine::Count() const { return (size_t)(pIndex_->ntotal); } -size_t FaissSerializer::Size() const { +size_t FaissExecutionEngine::Size() const { return (size_t)(Count() * pIndex_->d); } -Status FaissSerializer::Serialize() { +Status FaissExecutionEngine::Serialize() { write_index(pIndex_.get(), location_.c_str()); return Status::OK(); } -Status FaissSerializer::Cache() { +Status FaissExecutionEngine::Cache() { zilliz::vecwise::cache::CpuCacheMgr::GetInstance( )->InsertItem(location_, std::make_shared(pIndex_)); diff --git a/cpp/src/db/FaissSerializer.h b/cpp/src/db/FaissExecutionEngine.h similarity index 78% rename from cpp/src/db/FaissSerializer.h rename to cpp/src/db/FaissExecutionEngine.h index d3a255a0bb..bb1f5a4770 100644 --- a/cpp/src/db/FaissSerializer.h +++ b/cpp/src/db/FaissExecutionEngine.h @@ -3,7 +3,7 @@ #include #include -#include "Serializer.h" +#include "ExecutionEngine.h" namespace faiss { class Index; @@ -13,9 +13,9 @@ namespace zilliz { namespace vecwise { namespace engine { -class FaissSerializer : public Serializer { +class FaissExecutionEngine : public ExecutionEngine { public: - FaissSerializer(uint16_t dimension, const std::string& location); + FaissExecutionEngine(uint16_t dimension, const std::string& location); virtual Status AddWithIds(long n, const float *xdata, const long *xids) override; virtual size_t Count() const override; diff --git a/cpp/src/db/MemManager.cpp b/cpp/src/db/MemManager.cpp index 88f1df7122..10ec582935 100644 --- a/cpp/src/db/MemManager.cpp +++ b/cpp/src/db/MemManager.cpp @@ -6,7 +6,7 @@ #include "MemManager.h" #include "Meta.h" -#include "FaissSerializer.h" +#include "FaissExecutionEngine.h" namespace zilliz { @@ -19,36 +19,36 @@ MemVectors::MemVectors(const std::shared_ptr& meta_ptr, options_(options), schema_(schema), _pIdGenerator(new SimpleIDGenerator()), - pSerializer_(new FaissSerializer(schema_.dimension, schema_.location)) { + pEE_(new FaissExecutionEngine(schema_.dimension, schema_.location)) { } void MemVectors::add(size_t n_, const float* vectors_, IDNumbers& vector_ids_) { _pIdGenerator->getNextIDNumbers(n_, vector_ids_); - pSerializer_->AddWithIds(n_, vectors_, vector_ids_.data()); + pEE_->AddWithIds(n_, vectors_, vector_ids_.data()); for(auto i=0 ; iCount(); + return pEE_->Count(); } size_t MemVectors::approximate_size() const { - return pSerializer_->Size(); + return pEE_->Size(); } Status MemVectors::serialize(std::string& group_id) { group_id = schema_.group_id; auto rows = approximate_size(); - pSerializer_->Serialize(); + pEE_->Serialize(); schema_.rows = rows; schema_.file_type = (rows >= options_.index_trigger_size) ? meta::GroupFileSchema::TO_INDEX : meta::GroupFileSchema::RAW; auto status = pMeta_->update_group_file(schema_); - pSerializer_->Cache(); + pEE_->Cache(); return status; } diff --git a/cpp/src/db/MemManager.h b/cpp/src/db/MemManager.h index e29b09817c..0a298bf22d 100644 --- a/cpp/src/db/MemManager.h +++ b/cpp/src/db/MemManager.h @@ -19,7 +19,7 @@ namespace meta { class Meta; } -class Serializer; +class ExecutionEngine; class MemVectors { public: @@ -47,7 +47,7 @@ private: Options options_; meta::GroupFileSchema schema_; IDGenerator* _pIdGenerator; - std::shared_ptr pSerializer_; + std::shared_ptr pEE_; }; // MemVectors