以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 谁能解释一下,逻辑判断语句写成嵌套形式后运行效率下降? (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=69009) |
-- 作者:uranusmoon -- 发布时间:2014/8/20 15:59:19 -- 谁能解释一下,逻辑判断语句写成嵌套形式后运行效率下降? 请问下面两种写法,那种执行速度快些? 嵌套形式: if 条件A then begin
if 条件B then begin
……
end
if 条件C then begin
……
end end 分开写: if 条件A and 条件B then begin
…… end if 条件A and 条件C then begin
…… end
|
-- 作者:fly -- 发布时间:2014/8/20 16:17:36 -- 执行速度,差别不大 |
-- 作者:uranusmoon -- 发布时间:2014/8/20 16:33:32 -- 别说差别不大,因为在每个k线上都要执行,累计起来的运行时间差可能很可观。我的实际情况是,改成嵌套形式后与改之前的运行效果差别挺大,原来信号很及时,现在老延迟或漏掉。能否从原理上解释一下? |
-- 作者:fly -- 发布时间:2014/8/20 17:08:10 -- 你可以使用第二种方式,这样的代码量少
两种写法,原理上,运算级别是一样的数量级的.这个知识不好普及,不好意思 |
-- 作者:uranusmoon -- 发布时间:2014/8/20 19:29:44 -- 之前确实没看到这方面的解释,一般也没觉得是个问题,但是1秒轮循下要求代码执行效率要高,虽然运算级别的数量级一样,但是差几倍也是可观的。如果程序运行一遍需要整1秒,则1秒轮循下没问题,而如果运行一遍增加到3秒,则1秒轮循很容易漏信号。能否通俗解释一下呢? |
-- 作者:qwer123 -- 发布时间:2014/8/21 8:35:40 -- 不会,一般尽可能使用嵌套方法,这样可以减小运算量。 |