⚡ Bolt: Optimize string allocation in BytecodeDisassembler - #129
Tcode-Motion merged 1 commit into
Conversation
Replaced intermediate `format!` allocations with direct `write!` invocations inside the `BytecodeDisassembler`'s formatting loop, reducing unnecessary heap allocations. Co-authored-by: Tcode-Motion <188012755+Tcode-Motion@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
💡 What:
Replaced
format!calls with directwrite!macro invocations inside theBytecodeDisassembler::disassemble_functionloop incompiler/bytecode/src/disassembler.rs.🎯 Why:
The previous code was allocating two intermediate strings per instruction (
op_strandline) only to append them to the mainoutputstring. This was a source of unnecessary heap allocations on the hot path for tracing and debugging.📊 Impact:
Reduces memory allocation overhead significantly when disassembling large modules by eliminating intermediate string allocations in the main rendering loop.
🔬 Measurement:
Run
cargo test --package techscript_bytecodeto verify that the disassembler format output remains exactly the same.PR created automatically by Jules for task 16527750496915012933 started by @Tcode-Motion