Skip to content

⚡ Bolt: List.any{}에서 Iterator 할당을 방지하기 위해 arrayOf로 변경 - #823

Open
seonghobae wants to merge 1 commit into
masterfrom
jules-11282086876453579377-6c6fad74
Open

seonghobae wants to merge 1 commit into
masterfrom
jules-11282086876453579377-6c6fad74

Conversation

@seonghobae

Copy link
Copy Markdown
Collaborator

💡 What: main.kt의 Constants 객체 내 defaultSensitiveExtensions 속성을 List(listOf)에서 Array(arrayOf)로 변경하고, 사용되지 않는 @JvmField 어노테이션을 제거했습니다.
🎯 Why: 디렉토리 순회 중 민감한 파일 확장자를 필터링할 때(.any {} 사용), List에 대한 인라인 함수 호출은 내부적으로 Iterator 객체를 매번 할당하여 핫 루프(hot loop)에서 가비지 컬렉션(GC) 압력을 높이는 원인이 됩니다.
📊 Impact: Array의 .any {} 함수는 원시 인덱스 기반 루프(primitive indexed loop)로 컴파일되므로 Iterator 객체 할당을 완전히 제거합니다. 이를 통해 수많은 파일이 포함된 대규모 디렉토리를 크롤링할 때 메모리 오버헤드를 줄이고 성능을 향상시킵니다.
🔬 Measurement: 디렉토리 트리 생성에 대한 프로파일링 및 벤치마크 테스트, 특히 크롤링 중 발생하는 GC 로그를 통해 객체 할당 감소 효과를 검증할 수 있습니다. (테스트 성공 확인 완료)


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

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

@coderabbitai

coderabbitai Bot commented Sep 29, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 26 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: e0b992ef-0c7c-418e-b0a3-42613e6934d8

📥 Commits

Reviewing files that changed from the base of the PR and between 728f0f3 and 153fed0.

📒 Files selected for processing (2)
  • .jules/bolt.md
  • src/main/kotlin/html4tree/main.kt

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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