设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5264|回复: 6

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

  [复制链接]
发表于 2015-8-3 19:55:24 | 显示全部楼层 |阅读模式
再编程的时候是不是语句越简单,所需运行时间越少。. V7 {. R- O0 ?! }( R
例如:5 A/ J1 j8 c. G3 U0 i4 p
if  a=1 then
5 ?8 ^# _8 [% f7 ?! F3 [- }, A     b:=b+1;  R) M! [* N3 e6 r" _0 q
else$ }0 W6 n/ S. J
end;; T! @7 M% M# }7 t% |( V
$ e5 f, _4 h: h0 P6 V$ c
if  a=1 then7 }. Z- M$ a0 x% S5 h/ U: G  s
     b:=b+1;! o; u- `; T+ V# t& H- s: Z
end;" @% B" [: ~' C8 ], q+ a# H$ l
都是同一个功能,a为1则b加一,若不满足则什么都不执行。请问是否第一个程序比第二个程序多运算了一次?
2 W) s( U2 J7 T  H( s1 s若是这样,对于较大的复杂模型,程序较多时,省去不必要的语句优化程序结构是否会大幅提高运算效率?
 楼主| 发表于 2015-8-3 23:54:26 | 显示全部楼层
taoyifei2000 发表于 2015-8-3 23:41
  E# z% C- ~2 ?2 Q程序的优化还是很重要的,规模大的模型越发明显,尤其在做大量仿真实验时,直接影响运行效率。
; V6 P; S5 i4 z( S( C/ A# j: r- N; s- p0 ?+ f" T/ c% |
比如之前做 ...
/ A9 F7 G5 {- ^: `8 o
非常感谢您的指导,正在学习中!
 楼主| 发表于 2015-8-3 23:58:04 | 显示全部楼层
zsp643295840 发表于 2015-8-3 20:34
0 l" D- {& k8 r" g1 Y, Z有时候还有其他的考虑,比如为了调试的方便,一般把非正常情况归为else语句中,例如+ i  B! G* U. n" c, l6 I+ x
if  --  then
" k8 n  e4 B. h$ e) I# n' P+ w--

, Z0 i# Z4 I3 s, v6 }# }我的意思是不需要就尽可能省去else,模型太复杂,运行次数较多,越简单则效率越高,当然简单程序单次运行可能没什么区别。1 I2 f$ w3 g& b& H/ v% m' Y1 m
您说的debug我没接触过,我的理解是对可能一些没考虑到的情况进行debug,是一个完善和寻找所有情况的过程么?
发表于 2015-8-4 16:35:54 | 显示全部楼层
基本来说以目前的计算机运行速度 那个else对程序运行基本没有影响 即使模型非常大。。。
& k3 {- w  y/ c8 F) h; x; t* ]9 [$ u- J  F2 O5 {3 [# J
对模型运行速度产生较大影响的
  c% v7 |. ?+ Z' S9 Q3 K4 a. G) p1 d/ e
第一个是对大表格的检索,不过如果逻辑有需求,这个检索过程是绕不过去的,解决方法基本是建立更优的数据结构来减轻系统的排序压力; a8 I! }7 _  L6 E+ {! z+ ^# N
2 o2 N$ G% G# u% c0 o7 V' m" a
比如你有60000个托盘在仓库 你取货时需要寻找某一个。。。就是从6w个里面找。。。如果进行数据分级,第一级是货品,第二级是巷道,第三级是托盘,虽然要进行三次检索,但是一般来说每次检索都是1000以内的检索,运行速度就会大大提高了。。。
$ G) d6 j* T; w, e4 Q) L2 A
( W" e8 Z. o5 |3 n第二个就是动画,最简单就是关掉动画。。。高级一点可以在程序里面关掉所有动画相关的程序。。。删除掉不需要的实体。。。甚至去掉模型背景 等等。。。都可以显著提高运行速度。。。
 楼主| 发表于 2015-8-4 16:53:38 | 显示全部楼层
五五 发表于 2015-8-4 16:35
; n: E/ ~1 J" h- y2 ?* f- B基本来说以目前的计算机运行速度 那个else对程序运行基本没有影响 即使模型非常大。。。; n  N( O' M  q5 H2 i

2 p9 U" g, k7 a- M" F对模型运行速度产 ...

0 ^& j& p) j/ K6 _) I9 ]谢谢,关掉动画这个很明显,有一次偶然关掉了动画,运行速度大幅提高。算是阴差阳错吧
发表于 2015-8-8 23:02:53 | 显示全部楼层
优化主要还是针对大的模型,或者模型不大但是运行很慢,感觉对这两种情况比较有意义吧。
 楼主| 发表于 2015-8-9 14:09:48 | 显示全部楼层
dongshui8558 发表于 2015-8-8 23:02
, p  R# ~" v7 D: f& |) d3 G" `优化主要还是针对大的模型,或者模型不大但是运行很慢,感觉对这两种情况比较有意义吧。 ...
: K" R' ?" T1 i' @4 d+ {% q. c$ |
是的,就是模型较大,而且电脑配置不高,已经尽可能删减不必要的实体,所以才想在程序上下功夫
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-12 23:59 , Processed in 0.025069 second(s), 17 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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