设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6395|回复: 6

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

  [复制链接]
发表于 2015-8-3 19:55:24 | 显示全部楼层 |阅读模式
再编程的时候是不是语句越简单,所需运行时间越少。3 t5 r0 H- H5 @) `% W. {" B
例如:5 I/ J& b) [& R: g5 M1 j- @  f
if  a=1 then
# M: R4 m" k. c. L0 C+ P     b:=b+1;
' `* T/ B; k" Q* i) Y; velse3 z5 H7 U9 |* ^& ]3 Z% b
end;( ~8 c! X8 W* _3 {  F% C, k
- D3 L  d$ k% u6 g7 R) w
if  a=1 then' ]6 j7 ?* i4 G! r
     b:=b+1;
1 c6 b, c9 X  Y' c- u' zend;
% i0 o8 i% E+ Z! z3 D都是同一个功能,a为1则b加一,若不满足则什么都不执行。请问是否第一个程序比第二个程序多运算了一次?
  J% w, |2 Z& N& E3 `2 }" X; [若是这样,对于较大的复杂模型,程序较多时,省去不必要的语句优化程序结构是否会大幅提高运算效率?
 楼主| 发表于 2015-8-3 23:54:26 | 显示全部楼层
taoyifei2000 发表于 2015-8-3 23:41 ! {: E" n$ i% `; H5 c2 k5 |" T4 Q. Y
程序的优化还是很重要的,规模大的模型越发明显,尤其在做大量仿真实验时,直接影响运行效率。& t6 D2 V5 ]7 o2 w  c
3 s& x* `5 s7 u
比如之前做 ...

4 S4 X9 G/ ^" K6 [2 a非常感谢您的指导,正在学习中!
 楼主| 发表于 2015-8-3 23:58:04 | 显示全部楼层
zsp643295840 发表于 2015-8-3 20:34
8 }; C& N1 j, n1 |% P有时候还有其他的考虑,比如为了调试的方便,一般把非正常情况归为else语句中,例如
; W- k3 }; C: K/ V( ~0 @if  --  then( R4 e* u# y1 }" v- O' m) J
--

5 ~3 H- ~: ~" n) J7 [我的意思是不需要就尽可能省去else,模型太复杂,运行次数较多,越简单则效率越高,当然简单程序单次运行可能没什么区别。& E& e/ S, q6 _( O' s( T+ I
您说的debug我没接触过,我的理解是对可能一些没考虑到的情况进行debug,是一个完善和寻找所有情况的过程么?
发表于 2015-8-4 16:35:54 | 显示全部楼层
基本来说以目前的计算机运行速度 那个else对程序运行基本没有影响 即使模型非常大。。。9 V$ e: C7 ~- ?( z
# c9 A8 t& ]5 A9 p/ r" E* b( R
对模型运行速度产生较大影响的
6 j; d' e4 o+ k5 A" i+ Q% v: L
/ s, `/ D# Y) G" I8 S第一个是对大表格的检索,不过如果逻辑有需求,这个检索过程是绕不过去的,解决方法基本是建立更优的数据结构来减轻系统的排序压力
. v7 u. \" B$ \( y& _- j4 N" s& E9 P
比如你有60000个托盘在仓库 你取货时需要寻找某一个。。。就是从6w个里面找。。。如果进行数据分级,第一级是货品,第二级是巷道,第三级是托盘,虽然要进行三次检索,但是一般来说每次检索都是1000以内的检索,运行速度就会大大提高了。。。) @# ]  [( t. c4 C- k' P; h

" f" N& b, m' }& j) @3 S第二个就是动画,最简单就是关掉动画。。。高级一点可以在程序里面关掉所有动画相关的程序。。。删除掉不需要的实体。。。甚至去掉模型背景 等等。。。都可以显著提高运行速度。。。
 楼主| 发表于 2015-8-4 16:53:38 | 显示全部楼层
五五 发表于 2015-8-4 16:35 " x; u% {5 n2 X. ^
基本来说以目前的计算机运行速度 那个else对程序运行基本没有影响 即使模型非常大。。。( H* O& n% [9 L. r

' u5 n5 U: n5 p  q对模型运行速度产 ...

3 _9 [( i- n, p1 W5 a6 O; \6 X谢谢,关掉动画这个很明显,有一次偶然关掉了动画,运行速度大幅提高。算是阴差阳错吧
发表于 2015-8-8 23:02:53 | 显示全部楼层
优化主要还是针对大的模型,或者模型不大但是运行很慢,感觉对这两种情况比较有意义吧。
 楼主| 发表于 2015-8-9 14:09:48 | 显示全部楼层
dongshui8558 发表于 2015-8-8 23:02 ( p. }" Z/ j& q5 |
优化主要还是针对大的模型,或者模型不大但是运行很慢,感觉对这两种情况比较有意义吧。 ...
7 [" }3 n: ]: c" S4 r2 \2 C& B
是的,就是模型较大,而且电脑配置不高,已经尽可能删减不必要的实体,所以才想在程序上下功夫
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-30 20:59 , Processed in 0.016480 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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