明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 173|回复: 0

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

  [复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式
本帖最后由 你有种再说一遍 于 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怎么找最近?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-12-23 11:13 , Processed in 0.163250 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表