- 积分
- 10896
- 明经币
- 个
- 注册时间
- 2015-8-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2024-8-10 21:07:30
|
显示全部楼层
本帖最后由 你有种再说一遍 于 2024-8-11 23:06 编辑
如果cad用的是map,就不能容差的,也就是没有O(1)了,
二叉树之所以不能满足就是因为它是二维图元啊,
X二叉了,Y怎么办?Z怎么办?
他们也要二叉,是不是就是八叉了.
所以你能分析出来cad就是八叉树O(log8(n))了没.
你的单点链式选择是60ms,然后扩展到全图链条看看,
也就是无论如何你的函数都要调用10w+,
所以你的时间没有随着规模提高而提高就已经有问题了,
lisp开辟栈帧的时间都不止60ms...
一个图元两个点,两次选择,选择是log4(n),
时间复杂度2n*log4(n),
也就是时间会随着图元量增加而倍增,你就是没有感受到这个,我第一次觉得居然有比四叉树还快的大规模筛选就是这个案例.
G大测试你的Lisp代码19w图元是4.4s,一半也是2.2s.
要么你的fas新代码存在原理改变.
不要觉得60ms快,c#还是2ms,仍然处理10w图元太慢了.
我的74ms是全图碰撞的.
不要觉得sql就快,sql从来不考虑cache miss的.
|
|