为什么同样的代码在 Lua 中比 Julia 慢?

当我编写用于查找一个数字的最小可能倍数的相同代码时,Julia 比 Lua 要快得多,两者的时间分别为 ~3 秒以及 ~23 秒。

以下是我的 Julia 代码:

function smallest_multiple(x)
    n = 1
    while true
        for i = 1:x
            if n % i != 0
                break
            elseif i == x
                return n
            end
        end
        n += 1
    end
end

println(smallest_multiple(20))

以下是 Lua 代码:

function Smallest_Multiple(x)
    local n = 1
    while true do
        for i = 1,x do
            if n % i ~= 0 then
                break
            elseif i == x then
                return n
            end
        end
        n = n + 1
    end
end

是语言之间存在基本的低级别差异还是代码存在疏忽?

点赞