关于分支条件判断语句结构与执行效率的问题

第一种判断结构

If(B1 && B2 && B3)  //开多判断
{
}
If(B4 && B5 && B6)  //开空判断
{
}
If(BB1 && BB2 && BB3)  //止损与平多判断
{
}
If(BB4 && BB5 && BB6)  //止损与平空判断
{
}

 

第二种判断结构

If(B1 && B2 && B3)  //开多判断
{
}Else IF(B4 && B5 && B6)  //开空判断
{
}
If(BB1 && BB2 && BB3)  //止损和平多判断
{
}Else IF(BB4 && BB5 && BB6)  //止损与平空判断
{
}

按理说,第二种分支结构执行效率会更高,但实际测试中,两种结构所需时间并无太大差别,甚至第一种耗时还稍微短一点。

下图是在hc888合约做参数优化所需时间的对比(其它所有设置都一样,就是代码里的分支判断结构有所不同,)

那么怎么才能更加明确直观的看到这两种分支结构导致的效率差别呢?

关于条件语句判断与实际交易不符的问题
请教版主关于判断语句异常执行的问题
关于A函数不能做为分支条件
请教版主关于判断语句容纳条件数量的问题
for语句执行问题
结构条件控制问题
开仓条件执行语句有问题
请教!关于RANGE 和 IF()条件语句
不要在条件语句、条件语句的判断表达式、循环语句中使用序列函数
关于if语句使用的相关问题

可以在代码的首尾输出系统时间,,然后做一个相减操作然后输出,可以看看代码运行了多长时间,不过如果不是太多代码应该差别不大的

CurrentTime函数输出的时间颗粒度只能精确到秒

策略代码总共只有100行不到,实际测试后发现代码首行输出的时间与代码末行输出的时间完全没有差别。

怎么输出颗粒度更细的系统时间呢?

后面版本会支持毫秒

俺也在等毫秒yes