在什么情况下 Julia 会将内存分配给个位数?

use*_*278 5 memory julia

假设我写这个函数

    function test_function(T)
        c = 1
        d = 31
        q = 321
        b = 32121
        a = 10
        for i in 1:T
            c = d + q + b + a
        end
    end
Run Code Online (Sandbox Code Playgroud)

不会有内存分配。然而,在我自己的代码中,我编写了类似的循环,但遇到了大量的内存分配。我无法分享我的完整代码,但是当我使用时--track-allocation=user,我看到以下结果

    80000     q      = 3
        -     p      = 0.1
        -     p_2    = 3
        -     q_2    = .2
        -
   240000     r      =  p - p_2 + q_2 - q;
Run Code Online (Sandbox Code Playgroud)

上面的代码是在一个for循环中。这对我来说很奇怪——为什么 Julia 会把内存分配给个位数?