Answer: No, "
s.id==2" is still fastest. Because, if you take a look
at:
class deneme1 extends Component
{
@readonly property bool out
virtual override void changed(Slot s)
{
if (
s.id==1) out=false
}
}
deneme1's ir :
public virtual override void changed(sys::Slot)
{
0: LoadParam1
1: Load8BitFieldU1 sys::Slot.id
2: LoadI1
3: JumpIntNotEq 8
4: LoadParam0
5: LoadSlot ontrolArge::deneme1.out
6: LoadI0
7: Call sys::Component.setBool
8: ReturnVoid
}
class deneme2 extends Component
{
@readonly property bool out
virtual override void changed(Slot s)
{
if (
s.id==
deneme2.out.id) out=false
}
}
deneme2's ir :
public virtual override void changed(sys::Slot)
{
0: LoadParam1
1: Load8BitFieldU1 sys::Slot.id
2: LoadSlot ontrolArge::deneme2.out
3: Load8BitFieldU1 sys::Slot.id
4: JumpIntNotEq 9
5: LoadParam0
6: LoadSlot ontrolArge::deneme2.out
7: LoadI0
8: Call sys::Component.setBool
9: ReturnVoid
}
As you can see, the second one has 9 commands instead of 8. So,
"
s.id==2" is faster.