- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 Faiss源码解析 - Index抽象类介绍(一)
本系列文章基于Faiss 1.5.3版本的代码进行分析。相似性搜索介绍Faiss是Facebook AI团队开源的针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,是目前比较成熟的近似近邻搜索库。以图片搜索为例,所谓相似度搜索,就是在给定的图片中,寻找出指定的图片最像的K张图片,本质上为KNN(K近邻)问题。为了解决KNN问题,在工程上需要对现有图片库的特征向量进行存储。当用户指...
2019-07-11 21:35:33 4404 3
原创 高性能Linux: SSD分区对齐问题
分区对齐分区对齐意味着分区与数据存储设备(例如硬盘,固态驱动器(SSD)或RAID卷)的合理的边界对齐。正确的分区对齐可确保数据访问期间的理想性能。不正确的分区对齐将导致性能降低,尤其是SSD(内部页面大小为4,096或8,192字节),具有4,096字节扇区和RAID卷的硬盘。分区历史过去,第一个分区始终在LBA(Logical Block Address)地址63处开始,该地址对应于第6...
2019-07-11 17:18:11 4138
原创 Redis源码分析:字典实现(二)
本文分析的是Redis的版本为4.0.11。接口实现本文继续分析字典的接口实现。添加在分析键值对添加接口实现前,先来分析一下_dictKeyIndex()函数实现。该函数根据提供key、哈希值来获取哈希表的插入位置。如果该key在哈希表中已存在,可以通过existing参数返回dictEntry地址,并将返回值设置为-1,表示key已存在。如果dict正在进行重新哈希的过程,需要在新旧两个...
2019-07-08 11:50:59 333 1
原创 Redis源码分析:字典实现(-)
本文分析的是Redis的版本为4.0.11。字典(dictionary)键值数据库(key-value store)是字典的数据结构,键(key)和值(value)进行关联,形成键值对,所有数据库的操作都是通过主键(primary key)来实现的。除了用作表示数据库外,字典还是Redis底层哈希键的底层实现。字典结构定义字典结构定义位于dict.h文件中。先来看一下字典结构的定义:/*...
2019-07-03 20:02:56 378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人