Skip to content

⚡ Optimize version-sync regex compilation via struct storage#48

Merged
mudcube merged 1 commit into
mainfrom
version-sync-regex-optimization-9835292481015382583
Jan 29, 2026
Merged

⚡ Optimize version-sync regex compilation via struct storage#48
mudcube merged 1 commit into
mainfrom
version-sync-regex-optimization-9835292481015382583

Conversation

@mudcube

@mudcube mudcube commented Jan 29, 2026

Copy link
Copy Markdown
Collaborator

Refactored VersionSync to compile regular expressions during initialization (new()) and store them in the struct, rather than using static OnceLock instances within methods. This improves code organization and ensures deterministic initialization, addressing the performance goal of avoiding recompilation while maintaining the correct matching priority logic. Verified by running the tool against the repository files.


PR created automatically by Jules for task 9835292481015382583 started by @mudcube

This change moves regex compilation from `check_file_version` and `update_file_version` methods (where they were using `OnceLock`) to the `VersionSync::new` constructor. This ensures that regexes are compiled exactly once when the tool starts, avoiding any potential overhead or complexity of lazy initialization within tight loops.

It also improves code organization by grouping regex definitions in the struct initialization.

The original "combined regex" optimization was reverted due to logic regression concerns (leftmost match priority vs sequential priority), so this refactor focuses on structural efficiency and correctness.

Co-authored-by: mudcube <101564+mudcube@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 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 @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@mudcube mudcube merged commit c9eb522 into main Jan 29, 2026
0 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant