明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: aws

[讨论] 选择集转图元名表,还有没有更简洁的写法?

[复制链接]
发表于 2024-6-26 13:42 | 显示全部楼层
本帖最后由 gzcsun 于 2024-6-26 13:48 编辑

(defun c:gg4(/ enlst etime ss stime)
        (setq ss(ssget))
  (setq stime(getvar "MILLISECS"))
(setq  enlst (vl-remove-if-not '(lambda (arg) (equal (type arg) 'ENAME)) (mapcar 'cadr (ssnamex SS))))
        (setq etime(getvar "MILLISECS"))
  (princ(strcat "\n处理完毕!耗时:"(rtos(- etime stime)2 0)" ms"))
  (princ))


命令: GG1
找到 843180 个
处理完毕!耗时:1469 ms

命令: GG2
找到 843180 个
处理完毕!耗时:1187 ms

命令: GG3
找到 843180 个

处理完毕!耗时:297 ms

命令: GG4
找到 843180 个
处理完毕!耗时:1640 ms
耗时最慢!



外国很多用 ssnamex 。
但 ssnamex 是最慢的。


 楼主| 发表于 2024-6-26 13:56 | 显示全部楼层
gzcsun 发表于 2024-6-26 13:42
(defun c:gg4(/ enlst etime ss stime)
        (setq ss(ssget))
  (setq stime(getvar "MILLISECS"))

84万个图元,297毫秒处理完毕,你这啥处理器啊,不可思议啊
发表于 2024-6-26 14:22 | 显示全部楼层
(repeat(setq n(sslength ss))
  (setq enlst(cons (ssname ss(setq n(1- n))) enlst))
)
我感觉这样应该会更快一点
发表于 2024-6-26 14:49 | 显示全部楼层
编译以后新开一个CAD测试,得出结论才准确
 楼主| 发表于 2024-6-26 16:24 | 显示全部楼层
小菜123 发表于 2024-6-26 14:49
编译以后新开一个CAD测试,得出结论才准确

有道理呀,我都是飞诗里面测试的,我记得编译后,速度确实可以提高很多。
发表于 2024-6-26 16:52 | 显示全部楼层
我的函数也是用的第3种方法,如果结论不一致,请发出来
发表于 2024-6-26 17:27 | 显示全部楼层
那你用我的那个test编译测试看看
 楼主| 发表于 2024-6-26 17:35 | 显示全部楼层
fangmin723 发表于 2024-6-26 17:27
那你用我的那个test编译测试看看

确实是while比repeat快
---取3次测试结果,十万个圆:
GG1处理:耗时:297 ms;耗时:281 ms;耗时:235 ms;
GG2处理:耗时:281 ms;耗时:266 ms;耗时:250 ms;
GG3处理:耗时:47 ms;耗时:63 ms;耗时:78 ms;
GG4处理:耗时:31 ms;耗时:47 ms;耗时:31 ms;
GG5处理:耗时:313 ms;耗时:313 ms;耗时:281 ms;

---取3次测试结果,百万个圆:
GG1处理:耗时:3484 ms;耗时:4047 ms;耗时:2688 ms;
GG2处理:耗时:4266 ms;耗时:4141 ms;耗时:2703 ms;
GG3处理:耗时:719 ms;耗时:516 ms;耗时:609 ms;
GG4处理:耗时:375 ms;耗时:375 ms;耗时:391 ms;
GG5处理:耗时:4031 ms;耗时:3094 ms;耗时:4485 ms;

发表于 2024-6-26 18:27 | 显示全部楼层
aws 发表于 2024-6-26 17:35
确实是while比repeat快
---取3次测试结果,十万个圆:
GG1处理:耗时:297 ms;耗时:281 ms;耗时:235 ...

发表于 2024-6-27 00:34 | 显示全部楼层
我也来测试一下.
10万个圆,CAD2024,CPU12700K,32GDDR5,A2000显卡.

---取3次测试结果,十万个圆:
GG1处理:耗时:188 ms;耗时:187 ms;耗时:156 ms;
GG2处理:耗时:172 ms;耗时:172 ms;耗时:156 ms;
GG3处理:耗时:16 ms;耗时:110 ms;耗时:46 ms;
GG4处理:耗时:16 ms;耗时:31 ms;耗时:31 ms;
GG5处理:耗时:203 ms;耗时:188 ms;耗时:204 ms;
命令:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-1 12:49 , Processed in 0.134661 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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