⚡ Optimize Regex compilation in ToolViewBuilder (#801)
* Extracted the inline regex in htmlPathFromInlineDiff to a pre-compiled private constant to optimize CPU utilization during high-frequency loop iterations. * Fix ktlint standard:multiline-expression-wrapping rule in ToolViewBuilder
This commit is contained in:
1 file changed
+7
-4
@@ -24,6 +24,12 @@ import kotlinx.serialization.json.JsonPrimitive
|
||||
* as a human summary instead of a raw JSON dump
|
||||
*/
|
||||
object ToolViewBuilder {
|
||||
private val HTML_PATH_REGEX =
|
||||
Regex(
|
||||
"(?:^|\\s)(?:[ab]/)?([^\\s]+\\.html?)(?=\\s|$)",
|
||||
RegexOption.IGNORE_CASE,
|
||||
)
|
||||
|
||||
// ── shared field helpers ─────────────────────────────────────────────
|
||||
|
||||
private fun firstString(
|
||||
@@ -257,10 +263,7 @@ object ToolViewBuilder {
|
||||
private fun htmlPathFromInlineDiff(value: String): String {
|
||||
val cleaned = stripInlineDiffChrome(value)
|
||||
|
||||
for (match in Regex(
|
||||
"(?:^|\\s)(?:[ab]/)?([^\\s]+\\.html?)(?=\\s|$)",
|
||||
RegexOption.IGNORE_CASE,
|
||||
).findAll(cleaned)) {
|
||||
for (match in HTML_PATH_REGEX.findAll(cleaned)) {
|
||||
val candidate = match.groupValues[1].trim()
|
||||
|
||||
if (candidate.isNotEmpty()) {
|
||||
|
||||
Reference in new issue
Block a user