明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 305|回复: 2

[运行时] bo算法剩下的难度不高了

  [复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式
本帖最后由 你有种再说一遍 于 2025-1-17 21:30 编辑

我还是不做完吧,留点事情给大家做...
debug?没电脑怎么debug...

和别人沟通起来太慢了...很多东西顾名思义就行了...
https://www.cnblogs.com/JJBox/p/18652906

剩下一棵多叉树而已,没啥好写了,
新手入门必然写过四叉树,写不出就当我没说吧.
让AI去写得了.
什么?你说你是学Lisp的?做不出四叉树?
那还是算了吧,你离编程距离很远啊.

我决定把如何剪枝的容差交给调用者.
这个剪枝写法太帅了,我之前怎么没有想到呢...

感觉速度真的很快,估计1s能处理5w个封闭区吧.
5w/4核心=1.25w个封闭区,感觉是可以的.
如果8/16核心,岂不是不到半秒...
用很多技术,
切割数据式并行.
Linq的AsParallel.
从十亿行上面学来的:并行多个线程内字典再聚合.
大量的二分法,
是为数不多总结了十几年经验的作品了.

如果可以的话,估计连索引都不用做了.
如果不可以,我建议是降低包围盒精度,
毕竟float范围真的很快耶...
一秒钟出全图的封闭区真是太爽了,
反而很少人画图到float以外的.

目前不知道转换Ge曲线之后有没有自动释放数据库对象.
CurveInfo本质上是取出包围盒,
然后自己缓存,理论上还可以改为SOA结构,
不过炸开时候有一层转换,感觉有大量GC时间,
建议大家自行通过火焰图分析.

看不懂就先放着,要想着:
或许以后的我更了解编程呢.
只要一直学下去就行,
不然连并行和并发都没有弄清楚真的很傻...

虽然Linq可以把逻辑变得很美,
但是我老感觉Linq它有点问题呢,感觉不光是内联失败,还可能导致需要自己写很多NativeAOT的东西才能更快.

睡觉吧,别写了.
回复

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 你有种再说一遍 于 2025-1-17 21:35 编辑

问题来了,class实例化数太多,触发GC占据时间太多了.
要优化还是得上电脑才行.

有什么可以放到栈帧上面呢?
感觉会爆栈吧...尤其是之后要通过索引进行搜索.
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 15:49 | 显示全部楼层
悄悄的优化了好几个热路径,免得被说是烂代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-22 22:05 , Processed in 0.165285 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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