你有种再说一遍 发表于 6 天前

cad.net 哈希网格+稀疏矩阵+并行查询

本帖最后由 你有种再说一遍 于 2024-12-22 18:13 编辑

我之前没有发过哈希网格的代码,
主要是没人帮我验证,还是敲出来避免我忘记,
毕竟不能跑和我不能忘记是两码事,
通常不能跑的我都加密起来了...
https://www.cnblogs.com/JJBox/p/18617954

密码是mjtd
主要设计是稀疏矩阵,惰性扩容,并行查询.

数据并行 or 任务并行.
发现要转为并行,思维真的都不一样了,
要考虑怎么切割数据,而不是怎么有序...

重构标注链式选择中...
发现居然需要这个哈希网格才能进行并行查询.
然后发现我没有敲...

是为数不多串行加入容器,
然后任务并行查询,再进行并归的例子了,
尽可能并行成为如今数据处理的技巧.

哈希网格本质上就是桶排序算法的扩展...
它的原理就是把数据串行加入不同的分块中,
会依据特殊hash进行,中点/分格.
虽然同一条链条的标注可能被切割到不同的分块,
但是求碰撞的耗时是巨大的,
重点的每个块的任务并行(其实不并行也会加速),
最后会以田字收敛和聚合结果.

通过分治法使得分块之间的数据规模不相互影响,
什么意思?举个例子:
如果有一个任务是排序,不需要全部比较一次,
而是分块内比较,就使得规模减少了,时间就自然降低很多.

嘻嘻.

不过我貌似一个不小心把链式选择写得超长,
然后做错了一个设计,
把同角度作为key,
然后发现同角度里面0和90是占比最多的,
大量聚集在同一个key上面,这样就是无效字典了.
还是得区分出链条之后把链条的minX作为key.
https://www.cnblogs.com/JJBox/p/18611423
放一个预览版,说不定过不久我就改了.
SortedDictionary怎么找最近?

开心无惧 发表于 前天 11:42

本帖最后由 开心无惧 于 2024-12-24 11:44 编辑

你好 tb侧边6.6.9 有支持CAD2021版本的吗

你有种再说一遍 发表于 前天 14:21

开心无惧 发表于 2024-12-24 11:42
你好 tb侧边6.6.9 有支持CAD2021版本的吗

没有啊,我没有这种东西

开心无惧 发表于 前天 14:47

你有种再说一遍 发表于 2024-12-24 14:21
没有啊,我没有这种东西

那我弄错了 我以为是你在QQ群发的
页: [1]
查看完整版本: cad.net 哈希网格+稀疏矩阵+并行查询