this post was submitted on 08 Mar 2025
11 points (92.3% liked)

Rust Programming

8879 readers
1 users here now

founded 6 years ago
MODERATORS
11
Which is faster? (lemmings.world)
submitted 4 months ago* (last edited 4 months ago) by commander@lemmings.world to c/rust@lemmy.ml
 
let mut variable: Type;
loop {
    variable = value;
}

or

loop {
    let variable: Type = value;
}
you are viewing a single comment's thread
view the rest of the comments
[–] anhkagi@jlai.lu 8 points 4 months ago* (last edited 4 months ago) (4 children)

I would say that they are equivalent. If I'm not mistaken, let statements only reserves space on the stack, and this only increments the stack register.

And on the latter snippet, the compiler would certainly not bother to modify the stack pointer as the type doesn't change.

[–] Giooschi@lemmy.world 3 points 4 months ago* (last edited 4 months ago) (1 children)

let statements only reserves space on the stack

It is not guaranteed to do that. It could also use a register or be optimized out completly (like in the example you posted in the other comment).

The stack pointer is also not changed for each local variable, but instead for each function call, so it wouldn't make a difference anyway.

[–] anhkagi@jlai.lu 1 points 4 months ago

Ok! Thanks for the clarification !

load more comments (2 replies)