首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
tslearn
›
全部回复第 1 页 / 共 1 页
回复总数
1
311 天前
回复了
FeifeiJin
创建的主题
›
程序员
›
超大型文件比较,内存不足,只能分页读区再匹配,但头都秃了,也没想到优化的方式,朋友们帮帮忙啊。
看看这种方法行不 (假设 Name 支持任意字符)
将文件分片
1 ) 选取一个质数作为分片的值 (例如 977 )
2 ) 将 A 文件和 B 文件分片, 要保证相同的名字在相同的分片号, 且分片尽可能均匀
我帮你想到的一个合理的办法: 取 Name 的 UTF8 。 如果 UTF8 长度不能被 4 整除,则添 0 将数组长度补成 4 的倍数。
每四个字节映射为一个 int32 类型, 然后把这些 int32 加起来。 然后%977 (一个比较大的指数)。 这样会得到 0-966 中的一个值。
3 ) 你的问题化简成了在分片内的问题 (因为相同的名字对应相同的分片)
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
2748 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms ·
UTC 12:32
·
PVG 20:32
·
LAX 04:32
·
JFK 07:32
Developed with
CodeLauncher
♥ Do have faith in what you're doing.