V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  phpfpm  ›  全部回复第 23 页 / 共 27 页
回复总数  530
1 ... 15  16  17  18  19  20  21  22  23  24 ... 27  
@lizytalk lsh 是分段的,会降低敏感度,因为图片无法分段。
@imn1 处理的已经是针对 hash,而不是图片了。

踩了一个语言的坑,有一些代码写的还不够 dry,目前已经优化到计算
5*200*25k 个 distance 用 10s 了。
@also24 又做了一个优化,比较 distance 之前算下 bit count 的差值,超过阈值就不算了。
这样又可以快一点点。
@imn1 我尝试了一下算 hash dup 的算力。
必要的缓存优化我做了,hash 全部读取到内存没有 io 问题。

计算 5(个算法)*200 个 src*10k 个目标的汉明距离大概需要 1 分钟
i5 [email protected] 睿频到 2.2 的单核

如果目标上升到 1M(100 倍),5*200 这组需要的时间将会上升到 100 分钟

当然换一个好点的 cpu 提升 10 倍也就顶天了,10 分钟算 200 个(因为前面的 target 少)

1M=200*5000, 算均值是 5 分钟一批,需要 25000 分钟,大概 400 个小时。
@imn1 非常感谢这么详细的回答!

其实我还没开始计算百万级的汉明距离(o(n^2)),因为汉明码还没有预处理完——数据在 nas 上得先下载下来再算。
好吧,刚才打点看了一下,不是 io 的问题,就是 hash 算的慢(算 hash 呢,还没比呢)

服务器是一台 thinkpad 的,i5 4200u(1.6G~2.6G)
单线程跑满 hash 一个 100k 的图片大概需要 200ms (单线程),其他开销<5ms(数据库,网络,本地临时文件写)

算法(采用了 ah,dh, PercepiahHash,另外一个包的 ph 和 dh ),都是 php 的,算了 5 个 hash 。

我不太清楚其他语言算这个是不是能快一些,反正服务器也比较渣,之后跑判重肯定换个环境了,只是数据都在一个工程比较好管理。


等 hash 跑完我先用 dist=0 (完全匹配,基于数据库算下增量数据)简单提供一个服务,之后再慢慢跑 dist=1,2,3 的情况。

毛菇如果把历史数据都读取到内存当中算一趟的时间应该在可接受的范围内吧……
@also24 嗯 可以按照 1 的个数将分组缩小 128/dist 倍,计算量也减少这么多。
@liukangxu 感谢!
@all

算了 25k of 720k 的摘要 hash,用 dhash 就能找到约 0.5k 的 dup,相当于汉明距离=0

这个已经足够 make sense 了~

汉明距离 1+的以后慢慢算,可以结合几种不同的 hash 去重~
@ifzzzh
@liukangxu
我看下这俩算法,不过我估计学不会……
@newdongyuwei 已经在跑 p,dhash 了

确实 dhash 好一些,还挑了几个别的算法。
全量跑一遍 1M*5 个 hash 算法得两三天(主要是资源在 nas 上 io 慢机器也不快)


@momocraft

排序肯定不行,排序相当于只有前缀分组,会漏掉特别多
@ipwx
对,有这玩意么
其实细想一下,汉明距离就是 n-dimission 的距离,不过 nlgn 的算法仅限于 2 维来着?
@douglas1997 128bit 已经是图像指纹了,不是两个 1M 比指纹,是 1M 个 128bit 的 hash 比距离
自问自答:

user.daz 不指定类型就完事儿了。。
但是代码还是很丑,只能算是能跑通。。
@xupefei
@ccpp132

主要考虑到在 ahk 脚本访问共享内存 /socket 太复杂了。。。
@superrichman cheat engine 我用啊,难道这个有 cli ?
@lcdtyph 安全性确实无解

但是 WM_COPYDATA 不也是无法保证安全,其他进程也可以发相同的消息啊。
@crab
也不是。。不可以……
https://autohotkey.com/board/topic/123674-onmessage-wm-copydata/
ahk 实现 wm_copydata 有点重啊……可控性差一些


@shakoon 数据量不大,但是实时性要求高(基本是同步调用外部变量,会锁死等一会)
不过我的用户很乖的,不会打我的

@Kiriya 你感觉得不错!
@canbingzt 谢谢!!!
不是我想文件共享,而是一个 hook 的第三方功能不得不这样……

所以四参数的这个构造函数好像后面三个参数分别描述了这么几件事情:

Filemode 是创建模式,没有怎么办
FileAccess 是自己要干啥
FileShare 是别人能干啥

我真的是写的时候没仔细看,以为默认是 open 就是只读的。。
@nannanziyu 感动哭了。你完美给我答案了。。

说白了不是 json.net 的问题,我还是不熟悉 vb.net 类继承的最基本的写法……

大佬膝盖请收下!
@noreplay 服务端当然是用世界上最好的语言写的

换句话说,如果确实是对这种反序列化的类型支持困难的话,我就不折腾了,只是代码写的丑一点而已~
2020-03-24 11:55:50 +08:00
回复了 cl903254852 创建的主题 程序员 node 如何与 PHP 通信
http?
2020-02-06 21:35:22 +08:00
回复了 learningman 创建的主题 C 一个关于 C 语言中运算符优先级的小问题
@learningman 老师敢出这样的题你直接把考卷摔老师脸上
1 ... 15  16  17  18  19  20  21  22  23  24 ... 27  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2662 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 14:14 · PVG 22:14 · LAX 07:14 · JFK 10:14
Developed with CodeLauncher
♥ Do have faith in what you're doing.