Optimize shift_left and shift_right implementations#107
Conversation
…fting Replaces the O(N * size) single-bit shift loop with an O(size) bulk shift logic using native bitwise operations for significant performance improvement on large shifts.
|
👋 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. |
Replaces
shift_leftandshift_rightinsideBitVectorso that instead of repeating an O(size) stepntimes (resulting in O(n * size)), it computes the word offset and bit offset and directly assembles the new array in O(size) time. Testing and benchmarking confirm large performance gains (~300-800x speedup for shifting by 1000 bits) with no regressions.PR created automatically by Jules for task 15686409920113413402 started by @schwehr