设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5144|回复: 6

[交流] 关于Simtalk编程优化的问题

  [复制链接]
发表于 2015-8-3 19:55:24 | 显示全部楼层 |阅读模式
再编程的时候是不是语句越简单,所需运行时间越少。2 ^  a" d3 J7 p2 }7 m) l; k. Q% _
例如:$ n) Q# |7 a! B
if  a=1 then( o8 C; y/ |2 R, y' z: n9 @
     b:=b+1;# M  C; a6 o& I% C5 i
else) i+ {' B  A5 P
end;) X& ^9 K7 z4 f4 I3 W/ T; O

% f$ ^$ {2 q9 g/ ^9 U5 z6 K! V# u) `if  a=1 then
; M7 Z3 D9 C4 W5 `- z" n     b:=b+1;
1 s. G( g, o5 y) N9 X; pend;
, l9 z  t- Q2 F8 A5 ^2 F% h2 Q6 p: a都是同一个功能,a为1则b加一,若不满足则什么都不执行。请问是否第一个程序比第二个程序多运算了一次?
8 Y" ~+ R& Z5 _若是这样,对于较大的复杂模型,程序较多时,省去不必要的语句优化程序结构是否会大幅提高运算效率?
 楼主| 发表于 2015-8-3 23:54:26 | 显示全部楼层
taoyifei2000 发表于 2015-8-3 23:41 / @" ~) D$ c# h4 K0 L5 g9 x  T8 E5 D
程序的优化还是很重要的,规模大的模型越发明显,尤其在做大量仿真实验时,直接影响运行效率。
7 _6 A, Q6 B, _" F
8 i; L- H% T+ A; u2 }" ]比如之前做 ...
( D0 E/ q; `* J$ e1 P8 h
非常感谢您的指导,正在学习中!
 楼主| 发表于 2015-8-3 23:58:04 | 显示全部楼层
zsp643295840 发表于 2015-8-3 20:34 5 |  l: c; \) D6 S' d
有时候还有其他的考虑,比如为了调试的方便,一般把非正常情况归为else语句中,例如
2 y9 p( Z# Q& s7 o+ {& a$ cif  --  then# j0 e$ D5 T7 \) k
--

/ h  p, U. F' G$ {& {我的意思是不需要就尽可能省去else,模型太复杂,运行次数较多,越简单则效率越高,当然简单程序单次运行可能没什么区别。
8 m# M! j4 k2 }) D  X, z# w1 |您说的debug我没接触过,我的理解是对可能一些没考虑到的情况进行debug,是一个完善和寻找所有情况的过程么?
发表于 2015-8-4 16:35:54 | 显示全部楼层
基本来说以目前的计算机运行速度 那个else对程序运行基本没有影响 即使模型非常大。。。6 o& E& M/ e: ?2 M

* H0 o' a- z8 x+ @" h! C9 |2 n. O对模型运行速度产生较大影响的
0 Z; x/ b6 F+ P! F* N7 i
* C$ R/ K# j$ ~: ?3 f第一个是对大表格的检索,不过如果逻辑有需求,这个检索过程是绕不过去的,解决方法基本是建立更优的数据结构来减轻系统的排序压力
9 _5 x' j! n+ `2 j' v4 |. U. w
8 C( v% f% j; D! ^9 i4 J3 E比如你有60000个托盘在仓库 你取货时需要寻找某一个。。。就是从6w个里面找。。。如果进行数据分级,第一级是货品,第二级是巷道,第三级是托盘,虽然要进行三次检索,但是一般来说每次检索都是1000以内的检索,运行速度就会大大提高了。。。
9 d6 h; D  C6 f) n0 v& a4 i* N3 \3 K
第二个就是动画,最简单就是关掉动画。。。高级一点可以在程序里面关掉所有动画相关的程序。。。删除掉不需要的实体。。。甚至去掉模型背景 等等。。。都可以显著提高运行速度。。。
 楼主| 发表于 2015-8-4 16:53:38 | 显示全部楼层
五五 发表于 2015-8-4 16:35
4 F0 J- f# o  A' Z5 z, u; F" k* b基本来说以目前的计算机运行速度 那个else对程序运行基本没有影响 即使模型非常大。。。1 g# I6 h# M  Y( {! B% X

2 Y+ {: b1 g/ m7 W6 Y) x1 k对模型运行速度产 ...

' I8 ]  \1 B: ^2 u9 a谢谢,关掉动画这个很明显,有一次偶然关掉了动画,运行速度大幅提高。算是阴差阳错吧
发表于 2015-8-8 23:02:53 | 显示全部楼层
优化主要还是针对大的模型,或者模型不大但是运行很慢,感觉对这两种情况比较有意义吧。
 楼主| 发表于 2015-8-9 14:09:48 | 显示全部楼层
dongshui8558 发表于 2015-8-8 23:02
  i) A/ j* W& c- M优化主要还是针对大的模型,或者模型不大但是运行很慢,感觉对这两种情况比较有意义吧。 ...

+ M( u, }3 h: |* d9 W* Z; q' Z是的,就是模型较大,而且电脑配置不高,已经尽可能删减不必要的实体,所以才想在程序上下功夫
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2025-12-14 21:01 , Processed in 0.024103 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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