1.3k 1 分钟

diskann 是我看的第一篇关于 disk 上的 ANNS 算法,收获确实很大。有时间确实得好好读一读 diskann 的实现源码。 # 作者的动机 作者其实很简单,之前大部分 ANNS 算法都是基于内存来构建索引。如果把索引放到 disk,即使是 SSD,那么查询的延迟也会大幅度提升。所以需要提出一种基于 SSD 的 ANNS 算法,这种算法必须尽可能的降低 disk 的随机存取次数。 这里我感觉挺吃力的,有必要补全这块 io 相关的知识。 基于 SSD 索引方法必须实现 1)降低 SSD 随机访问的次数。2)round trip 的 request 数应该低于 10,最好 5。 #...
2.7k 2 分钟

开始我的阅读论文之旅了,第一篇论文挑了综述来看,目前来看,这玩意比 6.824 课上读的论文要简单多了。。。至少我能看个大概。 # abs+intro 这篇文章对于 13 种基于图的 ANNS 算法进行研究,使用了 8 个真实世界的数据集和 12 个人工数据集。ANNS 就是 Approximate nearest neighbor search ,关于为啥要研究这玩意,作者给出理由,因为:NNS 在很多领域比如信息检索、数据挖掘、机器学习巴拉巴拉很有用,然后因为高维数据的 NNS 太难搞了,于是大伙就整出了 ANNS,牺牲一点精度换取更高的效率。 基于图的 ANNS...
2.9k 3 分钟

# 写在开头的话 趁着疫情隔离期间,打算把以前丢掉的算法重新捡起来。。。ε=(´ο`*))) 唉 第一天,先复习以前的知识: 复习二叉树,包括排序二叉树、完全二叉树、AVL 树的构建和遍历。 复习各种排序,包括希尔排序、堆排序。 # 各种排序 # 插入排序 无非就是从后往前去遍历,如果满足条件就把值 place: func (A SortByAgeName) InsertSort() { for i := 1; i < A.Len(); i++ { s := A[i] j := i - 1 // 游标 for j >= 0...
246 1 分钟

这个博客主要为了解决一个问题那就是剪切板互通,我用的是 windows terminal,这个终端很好用,但是我工作不是在本地,而是通过 ssh 连接上远程的主机,这就出现了一个问题,剪切板不互通。。。 这里有一篇博客很好的解决了我的问题: https://sspai.com/post/71018 关于 OSC52,OSC 表示 Operating System Controls,而 52 表示本地剪切板,通过将 OSC52 text 传递给终端,终端在打印的时候就会自动将 text 拷贝到本地。 这个是个小坑,后续值得注意。
2.7k 2 分钟

# 快捷键 # 插入模式 # 下一行 keymap("i", '<C-n>', '<ESC>o', opts) # 普通模式 # 快速离开 keymap("n", "<leader>z", ":q<cr>", opts) keymap("n",...
554 1 分钟

这个文档用于记录我在配置各种主题和 nvim 插件快捷键。 如果有可选的话,我所有的主题都会设置为 Dracula。 # Terminal 按照 https://draculatheme.com/windows-terminal 进行配置 # ZSH 主题 为了方便 local 机显示这里的主题我设置为 ys。 远程主题为 power10k。 p10k configure : 设置主题 # nvim # 配置 配置在 /home/wu/.config/nvim # 插件 这里插件我用 packnvim 进行管理,包下载放到这个目录下👉...
1.3k 1 分钟

这里参考了 https://zhuanlan.zhihu.com/p/58668651 这篇文章来配置 tmux,首先需要明确 tmux 中的三个概念 # session、window、pane session 就是开启的会话,就像 ssh 登录了远程主机一样这样一个会话不终止,那么会话里的程序就不会被杀死,我之前使用的 screen 就是为了实现这样的功能。 windows 相当于 win10 的桌面,一个 win10 系统可以开多个桌面,同样一个 session 可以开多个 window 。 pane 是命令行终端,简单来说分屏分的就是 pane 。 # 命令 我的 prefix 为...
525 1 分钟

我的 v2ray 监听在 socks://127.0.0.1:1080,所以需要给 github 设置代理: # clone with http git config --global http.proxy socks://127.0.0.1:1080 git config --global https.proxy socks://127.0.0.1:1080 # Clone with SSH echo "Host github.com" >> ~/.ssh/config echo "ProxyCommand...
1.8k 2 分钟

lab3 难度有点大啊,看完了要求还是不知道需要做啥,挺嘛的。 # Print a page table 第一个 case easymode,没什么注意点的: static char *t[3] = {".. .. ..", ".. ..",".."};static void treeprint(pagetable_t pagetable, int level){ for (int i=0; i<512;i++){ pte_t *pte =...