From 996236e60dd14471f4024acf0503d34c38b4db40 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Tue, 22 Sep 2026 20:58:54 +0000 Subject: [PATCH 01/10] =?UTF-8?q?=E2=9A=A1=20Bolt:=20defaultSensitiveExten?= =?UTF-8?q?sions=20=EC=BB=AC=EB=A0=89=EC=85=98=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EC=9D=84=20Array=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98?= =?UTF-8?q?=EC=97=AC=20Iterator=20=ED=95=A0=EB=8B=B9=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `Constants.defaultSensitiveExtensions`λ₯Ό `List`μ—μ„œ `Array`둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 🎯 Why: 디렉토리 탐색 쀑 각 νŒŒμΌλ§ˆλ‹€ `.any {}`λ₯Ό ν˜ΈμΆœν•  λ•Œ, `List`λŠ” 맀번 `Iterator` 객체λ₯Ό ν• λ‹Ήν•˜μ§€λ§Œ, `Array`λ₯Ό μ‚¬μš©ν•˜λ©΄ 인라인 μ²˜λ¦¬λ˜μ–΄ 일반 for 루프λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ λΆˆν•„μš”ν•œ 객체 생성을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“Š Impact: λ§Žμ€ 수의 νŒŒμΌμ„ 탐색할 λ•Œ κ°€λΉ„μ§€ 컬렉터(GC) μ˜€λ²„ν—€λ“œλ₯Ό 쀄이고 이둠적인 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. πŸ”¬ Measurement: μ½”λ“œ 컴파일 μ‹œ `Array.any`κ°€ `Iterator` ν• λ‹Ή 없이 인라인으둜 μ „κ°œλ˜λŠ” 것을 톡해 μ΅œμ ν™”κ°€ μ μš©λ¨μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. --- .jules/bolt.md | 3 +++ src/main/kotlin/html4tree/main.kt | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.jules/bolt.md b/.jules/bolt.md index ee124e69..04c2dc67 100644 --- a/.jules/bolt.md +++ b/.jules/bolt.md @@ -62,3 +62,6 @@ ## 2026-08-11 - Array의 toMutableList ν• λ‹Ή μ˜€λ²„ν—€λ“œ μ΅œμ ν™” **ν•™μŠ΅:** 배열을 μ •λ ¬ν•˜κΈ° μœ„ν•΄ `.toMutableList()`λ₯Ό ν˜ΈμΆœν•˜λ©΄ μƒˆλ‘œμš΄ `ArrayList` 객체와 λ‚΄λΆ€ λ°°μ—΄ 객체가 ν• λ‹Ήλ˜μ–΄ λŒ€κ·œλͺ¨ 디렉토리λ₯Ό μˆœνšŒν•  λ•Œ κ°€λΉ„μ§€ μ»¬λ ‰μ…˜(GC) λΆ€ν•˜λ₯Ό μœ λ°œν•©λ‹ˆλ‹€. λ°°μ—΄ λ³΅μ œκ°€ ν•„μš”ν•œ 경우 `.clone()`을 μ‚¬μš©ν•˜λ©΄ ν•˜λ‚˜μ˜ λ°°μ—΄ 객체만 μƒˆλ‘œ ν• λ‹Ήλ˜λ―€λ‘œ 더 νš¨μœ¨μ μž…λ‹ˆλ‹€. **쑰치:** 디렉토리 파일 배열을 μ •λ ¬ν•˜κΈ° 전에 볡사할 λ•Œ `.toMutableList()` λŒ€μ‹  `.clone()`을 μ‚¬μš©ν•˜μ—¬ λΆˆν•„μš”ν•œ 쀑간 μ»¬λ ‰μ…˜ 할당을 μ œκ±°ν•˜κ³  μ„±λŠ₯을 ν–₯μƒμ‹œμΌ°μŠ΅λ‹ˆλ‹€. +## 2024-11-20 - Avoid List.any allocations +**Learning:** `List`에 λŒ€ν•΄ `.any {}`와 같은 인라인 ν•¨μˆ˜λ₯Ό λΉˆλ²ˆν•˜κ²Œ ν˜ΈμΆœν•˜λ©΄ 맀번 `Iterator` 객체가 ν• λ‹Ήλ©λ‹ˆλ‹€. +**Action:** 자주 κ²€μ‚¬λ˜λŠ” 정적 μ„€μ • μ»¬λ ‰μ…˜μ—λŠ” `List` λŒ€μ‹  `Array`λ₯Ό μ‚¬μš©ν•˜μ—¬ 인라인 ν•¨μˆ˜ 호좜 μ‹œ λΆˆν•„μš”ν•œ 객체 할당을 λ°©μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€. diff --git a/src/main/kotlin/html4tree/main.kt b/src/main/kotlin/html4tree/main.kt index 0972fa2c..5ecc46ac 100644 --- a/src/main/kotlin/html4tree/main.kt +++ b/src/main/kotlin/html4tree/main.kt @@ -503,8 +503,10 @@ private object Constants { val defaultSensitiveFileNamesLowercase = defaultSensitiveFiles.map { it.toLowerCase(java.util.Locale.ROOT) }.toSet() + // ⚑ Bolt Performance Optimization: Use arrayOf instead of listOf to avoid Iterator allocation + // Array.any is inline and uses a standard for-loop without allocating an Iterator object per file @JvmField - val defaultSensitiveExtensions = listOf( + val defaultSensitiveExtensions = arrayOf( ".pem", ".key", ".p12", From a1b1f75f1101c49db7571b74a2617b640a330e43 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Wed, 23 Sep 2026 01:12:21 +0000 Subject: [PATCH 02/10] =?UTF-8?q?=E2=9A=A1=20Bolt:=20defaultSensitiveExten?= =?UTF-8?q?sions=20=EC=BB=AC=EB=A0=89=EC=85=98=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EC=9D=84=20Array=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98?= =?UTF-8?q?=EC=97=AC=20Iterator=20=ED=95=A0=EB=8B=B9=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `Constants.defaultSensitiveExtensions`λ₯Ό `List`μ—μ„œ `Array`둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 🎯 Why: 디렉토리 탐색 쀑 각 νŒŒμΌλ§ˆλ‹€ `.any {}`λ₯Ό ν˜ΈμΆœν•  λ•Œ, `List`λŠ” 맀번 `Iterator` 객체λ₯Ό ν• λ‹Ήν•˜μ§€λ§Œ, `Array`λ₯Ό μ‚¬μš©ν•˜λ©΄ 인라인 μ²˜λ¦¬λ˜μ–΄ 일반 for 루프λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ λΆˆν•„μš”ν•œ 객체 생성을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“Š Impact: λ§Žμ€ 수의 νŒŒμΌμ„ 탐색할 λ•Œ κ°€λΉ„μ§€ 컬렉터(GC) μ˜€λ²„ν—€λ“œλ₯Ό 쀄이고 이둠적인 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. πŸ”¬ Measurement: μ½”λ“œ 컴파일 μ‹œ `Array.any`κ°€ `Iterator` ν• λ‹Ή 없이 인라인으둜 μ „κ°œλ˜λŠ” 것을 톡해 μ΅œμ ν™”κ°€ μ μš©λ¨μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. From 0e8f6c03bdbb4bb582ad8eecd6682e1b598c5a0d Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Wed, 23 Sep 2026 06:37:22 +0000 Subject: [PATCH 03/10] =?UTF-8?q?=E2=9A=A1=20Bolt:=20defaultSensitiveExten?= =?UTF-8?q?sions=20=EC=BB=AC=EB=A0=89=EC=85=98=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EC=9D=84=20Array=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98?= =?UTF-8?q?=EC=97=AC=20Iterator=20=ED=95=A0=EB=8B=B9=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `Constants.defaultSensitiveExtensions`λ₯Ό `List`μ—μ„œ `Array`둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 🎯 Why: 디렉토리 탐색 쀑 각 νŒŒμΌλ§ˆλ‹€ `.any {}`λ₯Ό ν˜ΈμΆœν•  λ•Œ, `List`λŠ” 맀번 `Iterator` 객체λ₯Ό ν• λ‹Ήν•˜μ§€λ§Œ, `Array`λ₯Ό μ‚¬μš©ν•˜λ©΄ 인라인 μ²˜λ¦¬λ˜μ–΄ 일반 for 루프λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ λΆˆν•„μš”ν•œ 객체 생성을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“Š Impact: λ§Žμ€ 수의 νŒŒμΌμ„ 탐색할 λ•Œ κ°€λΉ„μ§€ 컬렉터(GC) μ˜€λ²„ν—€λ“œλ₯Ό 쀄이고 이둠적인 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. πŸ”¬ Measurement: μ½”λ“œ 컴파일 μ‹œ `Array.any`κ°€ `Iterator` ν• λ‹Ή 없이 인라인으둜 μ „κ°œλ˜λŠ” 것을 톡해 μ΅œμ ν™”κ°€ μ μš©λ¨μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. From 4c558c48846f81e46a31c9e570ab62593576c775 Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Wed, 23 Sep 2026 16:13:19 +0900 Subject: [PATCH 04/10] chore(perf): keep retrospective journal unchanged --- .jules/bolt.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/.jules/bolt.md b/.jules/bolt.md index 04c2dc67..ee124e69 100644 --- a/.jules/bolt.md +++ b/.jules/bolt.md @@ -62,6 +62,3 @@ ## 2026-08-11 - Array의 toMutableList ν• λ‹Ή μ˜€λ²„ν—€λ“œ μ΅œμ ν™” **ν•™μŠ΅:** 배열을 μ •λ ¬ν•˜κΈ° μœ„ν•΄ `.toMutableList()`λ₯Ό ν˜ΈμΆœν•˜λ©΄ μƒˆλ‘œμš΄ `ArrayList` 객체와 λ‚΄λΆ€ λ°°μ—΄ 객체가 ν• λ‹Ήλ˜μ–΄ λŒ€κ·œλͺ¨ 디렉토리λ₯Ό μˆœνšŒν•  λ•Œ κ°€λΉ„μ§€ μ»¬λ ‰μ…˜(GC) λΆ€ν•˜λ₯Ό μœ λ°œν•©λ‹ˆλ‹€. λ°°μ—΄ λ³΅μ œκ°€ ν•„μš”ν•œ 경우 `.clone()`을 μ‚¬μš©ν•˜λ©΄ ν•˜λ‚˜μ˜ λ°°μ—΄ 객체만 μƒˆλ‘œ ν• λ‹Ήλ˜λ―€λ‘œ 더 νš¨μœ¨μ μž…λ‹ˆλ‹€. **쑰치:** 디렉토리 파일 배열을 μ •λ ¬ν•˜κΈ° 전에 볡사할 λ•Œ `.toMutableList()` λŒ€μ‹  `.clone()`을 μ‚¬μš©ν•˜μ—¬ λΆˆν•„μš”ν•œ 쀑간 μ»¬λ ‰μ…˜ 할당을 μ œκ±°ν•˜κ³  μ„±λŠ₯을 ν–₯μƒμ‹œμΌ°μŠ΅λ‹ˆλ‹€. -## 2024-11-20 - Avoid List.any allocations -**Learning:** `List`에 λŒ€ν•΄ `.any {}`와 같은 인라인 ν•¨μˆ˜λ₯Ό λΉˆλ²ˆν•˜κ²Œ ν˜ΈμΆœν•˜λ©΄ 맀번 `Iterator` 객체가 ν• λ‹Ήλ©λ‹ˆλ‹€. -**Action:** 자주 κ²€μ‚¬λ˜λŠ” 정적 μ„€μ • μ»¬λ ‰μ…˜μ—λŠ” `List` λŒ€μ‹  `Array`λ₯Ό μ‚¬μš©ν•˜μ—¬ 인라인 ν•¨μˆ˜ 호좜 μ‹œ λΆˆν•„μš”ν•œ 객체 할당을 λ°©μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€. From 4adee2b5fd30110ce525772e2f1c3dbd1641e124 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Wed, 23 Sep 2026 13:58:30 +0000 Subject: [PATCH 05/10] =?UTF-8?q?=E2=9A=A1=20Bolt:=20defaultSensitiveExten?= =?UTF-8?q?sions=20=EC=BB=AC=EB=A0=89=EC=85=98=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EC=9D=84=20Array=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98?= =?UTF-8?q?=EC=97=AC=20Iterator=20=ED=95=A0=EB=8B=B9=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `Constants.defaultSensitiveExtensions`λ₯Ό `List`μ—μ„œ `Array`둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 🎯 Why: 디렉토리 탐색 쀑 각 νŒŒμΌλ§ˆλ‹€ `.any {}`λ₯Ό ν˜ΈμΆœν•  λ•Œ, `List`λŠ” 맀번 `Iterator` 객체λ₯Ό ν• λ‹Ήν•˜μ§€λ§Œ, `Array`λ₯Ό μ‚¬μš©ν•˜λ©΄ 인라인 μ²˜λ¦¬λ˜μ–΄ 일반 for 루프λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ λΆˆν•„μš”ν•œ 객체 생성을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“Š Impact: λ§Žμ€ 수의 νŒŒμΌμ„ 탐색할 λ•Œ κ°€λΉ„μ§€ 컬렉터(GC) μ˜€λ²„ν—€λ“œλ₯Ό 쀄이고 이둠적인 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. πŸ”¬ Measurement: μ½”λ“œ 컴파일 μ‹œ `Array.any`κ°€ `Iterator` ν• λ‹Ή 없이 인라인으둜 μ „κ°œλ˜λŠ” 것을 톡해 μ΅œμ ν™”κ°€ μ μš©λ¨μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. --- .jules/bolt.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.jules/bolt.md b/.jules/bolt.md index ee124e69..04c2dc67 100644 --- a/.jules/bolt.md +++ b/.jules/bolt.md @@ -62,3 +62,6 @@ ## 2026-08-11 - Array의 toMutableList ν• λ‹Ή μ˜€λ²„ν—€λ“œ μ΅œμ ν™” **ν•™μŠ΅:** 배열을 μ •λ ¬ν•˜κΈ° μœ„ν•΄ `.toMutableList()`λ₯Ό ν˜ΈμΆœν•˜λ©΄ μƒˆλ‘œμš΄ `ArrayList` 객체와 λ‚΄λΆ€ λ°°μ—΄ 객체가 ν• λ‹Ήλ˜μ–΄ λŒ€κ·œλͺ¨ 디렉토리λ₯Ό μˆœνšŒν•  λ•Œ κ°€λΉ„μ§€ μ»¬λ ‰μ…˜(GC) λΆ€ν•˜λ₯Ό μœ λ°œν•©λ‹ˆλ‹€. λ°°μ—΄ λ³΅μ œκ°€ ν•„μš”ν•œ 경우 `.clone()`을 μ‚¬μš©ν•˜λ©΄ ν•˜λ‚˜μ˜ λ°°μ—΄ 객체만 μƒˆλ‘œ ν• λ‹Ήλ˜λ―€λ‘œ 더 νš¨μœ¨μ μž…λ‹ˆλ‹€. **쑰치:** 디렉토리 파일 배열을 μ •λ ¬ν•˜κΈ° 전에 볡사할 λ•Œ `.toMutableList()` λŒ€μ‹  `.clone()`을 μ‚¬μš©ν•˜μ—¬ λΆˆν•„μš”ν•œ 쀑간 μ»¬λ ‰μ…˜ 할당을 μ œκ±°ν•˜κ³  μ„±λŠ₯을 ν–₯μƒμ‹œμΌ°μŠ΅λ‹ˆλ‹€. +## 2024-11-20 - Avoid List.any allocations +**Learning:** `List`에 λŒ€ν•΄ `.any {}`와 같은 인라인 ν•¨μˆ˜λ₯Ό λΉˆλ²ˆν•˜κ²Œ ν˜ΈμΆœν•˜λ©΄ 맀번 `Iterator` 객체가 ν• λ‹Ήλ©λ‹ˆλ‹€. +**Action:** 자주 κ²€μ‚¬λ˜λŠ” 정적 μ„€μ • μ»¬λ ‰μ…˜μ—λŠ” `List` λŒ€μ‹  `Array`λ₯Ό μ‚¬μš©ν•˜μ—¬ 인라인 ν•¨μˆ˜ 호좜 μ‹œ λΆˆν•„μš”ν•œ 객체 할당을 λ°©μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€. From 094524abba38dd0d0c92498d3f5d9e2471e73fa3 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Wed, 23 Sep 2026 23:35:58 +0000 Subject: [PATCH 06/10] =?UTF-8?q?=E2=9A=A1=20Bolt:=20defaultSensitiveExten?= =?UTF-8?q?sions=20=EC=BB=AC=EB=A0=89=EC=85=98=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EC=9D=84=20Array=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98?= =?UTF-8?q?=EC=97=AC=20Iterator=20=ED=95=A0=EB=8B=B9=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `Constants.defaultSensitiveExtensions`λ₯Ό `List`μ—μ„œ `Array`둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 🎯 Why: 디렉토리 탐색 쀑 각 νŒŒμΌλ§ˆλ‹€ `.any {}`λ₯Ό ν˜ΈμΆœν•  λ•Œ, `List`λŠ” 맀번 `Iterator` 객체λ₯Ό ν• λ‹Ήν•˜μ§€λ§Œ, `Array`λ₯Ό μ‚¬μš©ν•˜λ©΄ 인라인 μ²˜λ¦¬λ˜μ–΄ 일반 for 루프λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ λΆˆν•„μš”ν•œ 객체 생성을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“Š Impact: λ§Žμ€ 수의 νŒŒμΌμ„ 탐색할 λ•Œ κ°€λΉ„μ§€ 컬렉터(GC) μ˜€λ²„ν—€λ“œλ₯Ό 쀄이고 이둠적인 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. πŸ”¬ Measurement: μ½”λ“œ 컴파일 μ‹œ `Array.any`κ°€ `Iterator` ν• λ‹Ή 없이 인라인으둜 μ „κ°œλ˜λŠ” 것을 톡해 μ΅œμ ν™”κ°€ μ μš©λ¨μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. From 0ba630f2225129569b480ec763db3085cd6364f2 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Thu, 24 Sep 2026 08:21:21 +0000 Subject: [PATCH 07/10] =?UTF-8?q?=E2=9A=A1=20Bolt:=20defaultSensitiveExten?= =?UTF-8?q?sions=20=EC=BB=AC=EB=A0=89=EC=85=98=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EC=9D=84=20Array=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98?= =?UTF-8?q?=EC=97=AC=20Iterator=20=ED=95=A0=EB=8B=B9=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `Constants.defaultSensitiveExtensions`λ₯Ό `List`μ—μ„œ `Array`둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 🎯 Why: 디렉토리 탐색 쀑 각 νŒŒμΌλ§ˆλ‹€ `.any {}`λ₯Ό ν˜ΈμΆœν•  λ•Œ, `List`λŠ” 맀번 `Iterator` 객체λ₯Ό ν• λ‹Ήν•˜μ§€λ§Œ, `Array`λ₯Ό μ‚¬μš©ν•˜λ©΄ 인라인 μ²˜λ¦¬λ˜μ–΄ 일반 for 루프λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ λΆˆν•„μš”ν•œ 객체 생성을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“Š Impact: λ§Žμ€ 수의 νŒŒμΌμ„ 탐색할 λ•Œ κ°€λΉ„μ§€ 컬렉터(GC) μ˜€λ²„ν—€λ“œλ₯Ό 쀄이고 이둠적인 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. πŸ”¬ Measurement: μ½”λ“œ 컴파일 μ‹œ `Array.any`κ°€ `Iterator` ν• λ‹Ή 없이 인라인으둜 μ „κ°œλ˜λŠ” 것을 톡해 μ΅œμ ν™”κ°€ μ μš©λ¨μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. From 8fd79d51de93d5a3e42cfd017cc7629000597e29 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Fri, 25 Sep 2026 01:01:55 +0000 Subject: [PATCH 08/10] =?UTF-8?q?=E2=9A=A1=20Bolt:=20defaultSensitiveExten?= =?UTF-8?q?sions=20=EC=BB=AC=EB=A0=89=EC=85=98=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EC=9D=84=20Array=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98?= =?UTF-8?q?=EC=97=AC=20Iterator=20=ED=95=A0=EB=8B=B9=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `Constants.defaultSensitiveExtensions`λ₯Ό `List`μ—μ„œ `Array`둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 🎯 Why: 디렉토리 탐색 쀑 각 νŒŒμΌλ§ˆλ‹€ `.any {}`λ₯Ό ν˜ΈμΆœν•  λ•Œ, `List`λŠ” 맀번 `Iterator` 객체λ₯Ό ν• λ‹Ήν•˜μ§€λ§Œ, `Array`λ₯Ό μ‚¬μš©ν•˜λ©΄ 인라인 μ²˜λ¦¬λ˜μ–΄ 일반 for 루프λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ λΆˆν•„μš”ν•œ 객체 생성을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“Š Impact: λ§Žμ€ 수의 νŒŒμΌμ„ 탐색할 λ•Œ κ°€λΉ„μ§€ 컬렉터(GC) μ˜€λ²„ν—€λ“œλ₯Ό 쀄이고 이둠적인 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. πŸ”¬ Measurement: μ½”λ“œ 컴파일 μ‹œ `Array.any`κ°€ `Iterator` ν• λ‹Ή 없이 인라인으둜 μ „κ°œλ˜λŠ” 것을 톡해 μ΅œμ ν™”κ°€ μ μš©λ¨μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. From 3a42563e45d60592c6460eb09dd78400b7f314d7 Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Fri, 25 Sep 2026 15:41:58 +0000 Subject: [PATCH 09/10] =?UTF-8?q?=E2=9A=A1=20Bolt:=20defaultSensitiveExten?= =?UTF-8?q?sions=20=EC=BB=AC=EB=A0=89=EC=85=98=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EC=9D=84=20Array=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98?= =?UTF-8?q?=EC=97=AC=20Iterator=20=ED=95=A0=EB=8B=B9=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `Constants.defaultSensitiveExtensions`λ₯Ό `List`μ—μ„œ `Array`둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 🎯 Why: 디렉토리 탐색 쀑 각 νŒŒμΌλ§ˆλ‹€ `.any {}`λ₯Ό ν˜ΈμΆœν•  λ•Œ, `List`λŠ” 맀번 `Iterator` 객체λ₯Ό ν• λ‹Ήν•˜μ§€λ§Œ, `Array`λ₯Ό μ‚¬μš©ν•˜λ©΄ 인라인 μ²˜λ¦¬λ˜μ–΄ 일반 for 루프λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ λΆˆν•„μš”ν•œ 객체 생성을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“Š Impact: λ§Žμ€ 수의 νŒŒμΌμ„ 탐색할 λ•Œ κ°€λΉ„μ§€ 컬렉터(GC) μ˜€λ²„ν—€λ“œλ₯Ό 쀄이고 이둠적인 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. πŸ”¬ Measurement: μ½”λ“œ 컴파일 μ‹œ `Array.any`κ°€ `Iterator` ν• λ‹Ή 없이 인라인으둜 μ „κ°œλ˜λŠ” 것을 톡해 μ΅œμ ν™”κ°€ μ μš©λ¨μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. From 5aa572cf4a30726e6231336a8ccb32e380d0018e Mon Sep 17 00:00:00 2001 From: seonghobae <8172694+seonghobae@users.noreply.github.com> Date: Sat, 26 Sep 2026 00:22:47 +0000 Subject: [PATCH 10/10] =?UTF-8?q?=E2=9A=A1=20Bolt:=20defaultSensitiveExten?= =?UTF-8?q?sions=20=EC=BB=AC=EB=A0=89=EC=85=98=20=ED=83=80=EC=9E=85?= =?UTF-8?q?=EC=9D=84=20Array=EB=A1=9C=20=EB=B3=80=EA=B2=BD=ED=95=98?= =?UTF-8?q?=EC=97=AC=20Iterator=20=ED=95=A0=EB=8B=B9=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit πŸ’‘ What: `Constants.defaultSensitiveExtensions`λ₯Ό `List`μ—μ„œ `Array`둜 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€. 🎯 Why: 디렉토리 탐색 쀑 각 νŒŒμΌλ§ˆλ‹€ `.any {}`λ₯Ό ν˜ΈμΆœν•  λ•Œ, `List`λŠ” 맀번 `Iterator` 객체λ₯Ό ν• λ‹Ήν•˜μ§€λ§Œ, `Array`λ₯Ό μ‚¬μš©ν•˜λ©΄ 인라인 μ²˜λ¦¬λ˜μ–΄ 일반 for 루프λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ λΆˆν•„μš”ν•œ 객체 생성을 λ°©μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ“Š Impact: λ§Žμ€ 수의 νŒŒμΌμ„ 탐색할 λ•Œ κ°€λΉ„μ§€ 컬렉터(GC) μ˜€λ²„ν—€λ“œλ₯Ό 쀄이고 이둠적인 탐색 속도λ₯Ό ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. πŸ”¬ Measurement: μ½”λ“œ 컴파일 μ‹œ `Array.any`κ°€ `Iterator` ν• λ‹Ή 없이 인라인으둜 μ „κ°œλ˜λŠ” 것을 톡해 μ΅œμ ν™”κ°€ μ μš©λ¨μ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.