Sailwww 最近的时间轴更新
Sailwww

Sailwww

V2EX 第 532499 号会员,加入于 2021-02-07 16:59:43 +08:00
Sailwww 最近回复了
171 天前
回复了 dicc 创建的主题 Python 如何编写代码才能实现这种关联
这个支持可能是通过 https://github.com/JetBrains/python-skeletons ( deprecated )和 https://github.com/python/typeshed 实现的,没具体研究过
191 天前
回复了 roseduan 创建的主题 分享创造 用 Go 语言写的一个 kv 存储引擎
支持
@frinstioAKL 似乎因为编解码方式的问题,图片的 sqlite 读取性能好像不是很客观,而且十分占空间,当时踩完坑后采取的是将图片保存成一个 chunk ,然后 sqlite 记录 chunk path 然后读。因为那段时间工期太赶没仔细测试,你可以再试验一下,我也等一波反馈~
@frinstioAKL 我刚刚路上突然想到一点,我的测试可能有一定错误,因为我存的是数字,可能因为数据太小导致写入速度慢?(这种数据大小导致的某种均匀性我最初还是在 hash 方法里见到的)。我去看了 quickle 提供的 benchimark ,它在 dump 和 load 下好像都是有速度优势的。我看了 @BingoXuan 说的 sqlitedict 的实现,或许可以考虑直接提供一个 backend 参数传入..

lmdb 当初应该有一两百万了吧,忘了是纯文本场景还是文本图像混合场景了,哦对了 lmdb 里面有个 metadata 空间应该也有上限,当初我好像是用来放 label 的,这个也是弃掉的一个原因。 [随便找了一篇说明文档]( https://mozilla.github.io/firefox-browser-architecture/text/0015-rkv.html#:~:text=LMDB%20by%20default%20has%20a,may%20have%20performance%20impact%20too.)

> LMDB by default has a maximum key size set as 512 bytes, there is a compile time configuration to change it, though a larger key may have performance impact too
@frinstioAKL 哦抱歉,我记错了,不是分块读取的;我之前用过 lmdb ,不知道是不是之前代码写的烂的缘故,我记得 lmdb 单个文件数据存储,量级越大读起来就越慢...也是因为当初这件事,我后来尝试了 feather 格式,然后出来了这个库...
@bnm965321 多谢认可和建议,打算学一下 leveldb 的实现

@frinstioAKL lmdb 好像不能按 index 索引,是分块的吧?如果是 lmdb 的那种实现,不如尝试和 feather 格式对比(个人理解)

quickle 试了一下,两个差的不多,quickle 读比 pickle 快 7% ,pickle 写比 quickle 快了 7% (有上下浮动),所以看具体使用场景吧。

我记得之前有哪个组做强化学习的,为了搞一个分布式系统开源了一个序列化的库好像效率更高,但我一时半会找不到了...
198 天前
回复了 jwnhy 创建的主题 奇思妙想 空耳识别器
之前也和同学有类似的想法,不过是直接通过音频转成空耳用来搞乐子的)
@Shazoo
只有读操作支持,这个当初就是为了我读训练模型时候用的,没有多进程支持速度还是瓶颈...多线程和协程理应也支持?话说这个支持也就是 fork 的时候重建链接就可以了,也不需要别的操作....
写操作这个是 sqlite 本身的问题,我没遇到使用场景,自己维护锁就没必要了
@BingoXuan 还真是,才发现有这个...对比了一下,基本确实是在重复造轮子,不过还是总结一下区别
- 在 io 上,因为我建的是双层索引,同时还有 id 自增列,所以在单值读取上慢了很多(但也在 1e-5 量级内,btw ,sqlitedict 是 1e-9 量级),数据库大小同量级下(因为索引)应该也大一些;优点是可以通过 list 的接口读取。
- 多值上它没有提供接口,在同时读取多个 key 或者 index 的场景下,我比他快 10 倍以上
- 整体上这个库算是一个 sqlite 小玩具,里面还提供了一个二分求数据库大小的函数,在无自增 id 缺失的情况下,比 select count(*) 要快 1000 倍左右
补一条,sqlite 支持亿量级的数据低延迟索引读取,所以该库也有类似的性能表现,在一些场景下是替代 json 等数据格式的更好选择
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1272 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 19:03 · PVG 03:03 · LAX 12:03 · JFK 15:03
Developed with CodeLauncher
♥ Do have faith in what you're doing.