Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
72f096bf
M
milvus
项目概览
milvus
/
milvus
大约 1 年 前同步成功
通知
261
Star
22476
Fork
2472
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
72f096bf
编写于
5月 05, 2019
作者:
X
Xu Peng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor(db): typedef ptr for memvectors
Former-commit-id: 92289614937b7803fc41bf5cb7d50f468192aaa4
上级
c64e8c96
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
10 deletion
+11
-10
cpp/src/db/DBImpl.h
cpp/src/db/DBImpl.h
+2
-2
cpp/src/db/MemManager.cpp
cpp/src/db/MemManager.cpp
+3
-3
cpp/src/db/MemManager.h
cpp/src/db/MemManager.h
+6
-5
未找到文件。
cpp/src/db/DBImpl.h
浏览文件 @
72f096bf
...
...
@@ -22,6 +22,7 @@ template <typename EngineT>
class
DBImpl
:
public
DB
{
public:
typedef
typename
meta
::
Meta
::
Ptr
MetaPtr
;
typedef
typename
MemManager
<
EngineT
>::
Ptr
MemManagerPtr
;
DBImpl
(
const
Options
&
options
);
...
...
@@ -49,7 +50,6 @@ public:
virtual
~
DBImpl
();
private:
typedef
MemManager
<
EngineT
>
MemManagerT
;
void
background_build_index
();
Status
build_index
(
const
meta
::
GroupFileSchema
&
);
...
...
@@ -81,7 +81,7 @@ private:
std
::
condition_variable
bg_build_index_finish_signal_
;
MetaPtr
_pMeta
;
std
::
shared_ptr
<
MemManagerT
>
_pMemMgr
;
MemManagerPtr
_pMemMgr
;
};
// DBImpl
...
...
cpp/src/db/MemManager.cpp
浏览文件 @
72f096bf
...
...
@@ -72,7 +72,7 @@ MemVectors<EngineT>::~MemVectors() {
*/
template
<
typename
EngineT
>
typename
MemManager
<
EngineT
>::
VectorsPtr
MemManager
<
EngineT
>::
get_mem_by_group
(
typename
MemManager
<
EngineT
>::
Mem
VectorsPtr
MemManager
<
EngineT
>::
get_mem_by_group
(
const
std
::
string
&
group_id
)
{
auto
memIt
=
_memMap
.
find
(
group_id
);
if
(
memIt
!=
_memMap
.
end
())
{
...
...
@@ -86,7 +86,7 @@ typename MemManager<EngineT>::VectorsPtr MemManager<EngineT>::get_mem_by_group(
return
nullptr
;
}
_memMap
[
group_id
]
=
VectorsPtr
(
new
MemVectors
<
EngineT
>
(
_pMeta
,
group_file
,
options_
));
_memMap
[
group_id
]
=
Mem
VectorsPtr
(
new
MemVectors
<
EngineT
>
(
_pMeta
,
group_file
,
options_
));
return
_memMap
[
group_id
];
}
...
...
@@ -104,7 +104,7 @@ Status MemManager<EngineT>::add_vectors_no_lock(const std::string& group_id,
size_t
n
,
const
float
*
vectors
,
IDNumbers
&
vector_ids
)
{
VectorsPtr
mem
=
get_mem_by_group
(
group_id
);
Mem
VectorsPtr
mem
=
get_mem_by_group
(
group_id
);
if
(
mem
==
nullptr
)
{
return
Status
::
NotFound
(
"Group "
+
group_id
+
" not found!"
);
}
...
...
cpp/src/db/MemManager.h
浏览文件 @
72f096bf
...
...
@@ -24,6 +24,7 @@ class MemVectors {
public:
typedef
typename
EngineT
::
Ptr
EnginePtr
;
typedef
typename
meta
::
Meta
::
Ptr
MetaPtr
;
typedef
std
::
shared_ptr
<
MemVectors
<
EngineT
>>
Ptr
;
explicit
MemVectors
(
const
std
::
shared_ptr
<
meta
::
Meta
>&
,
const
meta
::
GroupFileSchema
&
,
const
Options
&
);
...
...
@@ -58,14 +59,14 @@ private:
template
<
typename
EngineT
>
class
MemManager
{
public:
typedef
MemVectors
<
EngineT
>
ItemT
;
typedef
std
::
shared_ptr
<
ItemT
>
VectorsPtr
;
typedef
typename
meta
::
Meta
::
Ptr
MetaPtr
;
typedef
typename
MemVectors
<
EngineT
>::
Ptr
MemVectorsPtr
;
typedef
std
::
shared_ptr
<
MemManager
<
EngineT
>>
Ptr
;
MemManager
(
const
std
::
shared_ptr
<
meta
::
Meta
>&
meta_
,
const
Options
&
options
)
:
_pMeta
(
meta_
),
options_
(
options
)
{}
VectorsPtr
get_mem_by_group
(
const
std
::
string
&
group_id_
);
Mem
VectorsPtr
get_mem_by_group
(
const
std
::
string
&
group_id_
);
Status
add_vectors
(
const
std
::
string
&
group_id_
,
size_t
n_
,
const
float
*
vectors_
,
IDNumbers
&
vector_ids_
);
...
...
@@ -77,8 +78,8 @@ private:
size_t
n_
,
const
float
*
vectors_
,
IDNumbers
&
vector_ids_
);
Status
mark_memory_as_immutable
();
typedef
std
::
map
<
std
::
string
,
VectorsPtr
>
MemMap
;
typedef
std
::
vector
<
VectorsPtr
>
ImmMemPool
;
typedef
std
::
map
<
std
::
string
,
Mem
VectorsPtr
>
MemMap
;
typedef
std
::
vector
<
Mem
VectorsPtr
>
ImmMemPool
;
MemMap
_memMap
;
ImmMemPool
_immMems
;
MetaPtr
_pMeta
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录