- 积分
- 12374
- 明经币
- 个
- 注册时间
- 2015-8-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 你有种再说一遍 于 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的东西才能更快.
睡觉吧,别写了. |
|