关于提高LISP程序速度
<P>最近根据置顶的帖子“求多义线的交点”做了一个求两个图层“打架”(相交)的程序。</P><P>结果因为我们做的地图图面信息量很大,每个图层的东西都是成千上万。</P>
<P>所以LISP执行程序检查交点太慢了(好几个小时),有没有提高执行速度的一些好建议?</P>
<P>如果大家不说,我就去自己找了。找到了给大家看。</P> <P>1、能在循环外计算的数据放在循环外计算;</P>
<P>2、能局部选择实体就采用局部框选;</P>
<P>3、少用实数和转换函数;</P>
<P>4、关闭程序的屏幕输出(SETVAR "CMDECHO" 0);</P>
<P>5、如可能,关闭UNDO;</P>
<P>6、少用COMMAND函数;</P> 严重同意2楼!<br>另外要进可能的优化程序的算法,这一点也是相当重要的<br>如果已经采用了你所能想到的最优算法,程序还要执行好几个小时的话<br>那就要限定程序使用的范围在可以接受的时间内执行完毕<br>或者放弃<br> <P>果真这么耗时建议用ArxObject来开发</P>
<P> </P> 谢谢大家的建议 能放程序么???参详一下。 用objectarx来开发了,运行速度肯定要快很多 相交線求焦點的問題,論壇編程群裏面有個共享文件,--<算法> ,其中一個例子,專門講到了這個求焦點的德優化算法,非常詳細,不知道有沒有高手按照裏面的最優化算法,用Lisp來編寫一個了? 本帖最后由 fawn_lgc 于 2012-5-8 16:15 编辑
多用command命令。
我发现很多人不喜欢用command命令, 其实官方内置的命令本身就是很优秀的程序。
一行command命令就能解决的问题的话,自己另起炉灶写出一大堆程序未必能与之媲美,
除非你能确定你是高手。
我开发的号称运行最流畅占有CPU最少的动态填充,看了源代码后你会惊讶的发现其实它是用command命令实现。
呵呵取长补短,众说纷云啊
页:
[1]