Skip to content

⚡ Bolt: [성능 개선] urlEncodePath 객체 할당 최적화#113

Closed
seonghobae wants to merge 1 commit into
masterfrom
bolt-url-encode-optimization-14573483353764854799
Closed

⚡ Bolt: [성능 개선] urlEncodePath 객체 할당 최적화#113
seonghobae wants to merge 1 commit into
masterfrom
bolt-url-encode-optimization-14573483353764854799

Conversation

@seonghobae

Copy link
Copy Markdown
Collaborator

💡 What: Lazy StringBuilder 할당 및 비트 연산을 활용한 직접 16진수 변환 적용
🎯 Why: 기존 코드는 바이트 인코딩 시 toString(16).padStart(2, '0').toUpperCase()와 같은 체이닝 방식을 사용하여 매 인코딩 바이트마다 다수의 단기 문자열 객체를 불필요하게 생성했습니다. 또한 인코딩이 필요 없는 영문 및 숫자 조합의 경로에서도 무조건 StringBuilder를 할당하는 오버헤드가 있었습니다.
📊 Impact: 인코딩 작업 시 발생하는 메모리 할당 및 GC(Garbage Collection) 부하가 크게 줄어듭니다. 특히, 예약되지 않은 ASCII 문자열 경로의 경우에는 메모리 할당이 전혀 발생하지 않습니다.
🔬 Measurement: 수많은 특수문자를 포함한 거대한 디렉터리 트리를 대상으로 index.html 파일을 생성할 때 프로파일러(Profiler)를 통해 GC 발생 빈도 및 힙 메모리 사용량을 측정하여 검증할 수 있습니다.


PR created automatically by Jules for task 14573483353764854799 started by @seonghobae

URL 인코딩 시 반복적인 중간 문자열 생성을 방지하고 비트 연산을 사용하여
StringBuilder 객체의 메모리 할당 및 GC 부하를 최소화했습니다.
@google-labs-jules

Copy link
Copy Markdown

👋 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.

@seonghobae seonghobae closed this Jul 7, 2026
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