您的问题更多地涉及计算机科学,而不是动作脚本,因为大多数语言都会尝试编译为尽可能最佳的机器代码。
因此,我将使用 C++ 示例来回答您的问题。
int j = 16;
if (!(j < 10))
{
int l = 3;
}
if (j >= 10)
{
int l = 3;
}
这会在汇编中产生以下关键部分:
00231375 cmp dword ptr [j],0Ah
00231379 jl wmain+32h (231382h)
0023137B mov dword ptr [l],3
00231382 cmp dword ptr [j],0Ah
00231386 jl wmain+3Fh (23138Fh)
00231388 mov dword ptr [l],3
0023138F xor eax,eax
第 00231375 和 00231382 行是 if 语句中包含的实际测试。如您所见,我的 < 和 >= 测试都在汇编中编译为相同的相同代码(比较两个整数时)。因此,任何一个测试都将在 CPU 上花费相同的时间,因为它们都导致相同的测试(如果 left < right,则跳过 if block)。动作脚本编译器很可能就是这种情况。
但是,一个问题可能是 JIT 编译器是否需要更长的时间来编译 !([int] < [int]) 或 [int] >= [int]。我的猜测是,差异可能还不够重要。