Commit cd41ba6
committed
[OptionsResolver] optimize splitOutsideParenthesis with regex
Replace manual string parsing with regex-based implementation using PCRE's
(*SKIP)(*FAIL) backtracking control verbs. This approach:
Achieves 5.9x performance improvement over the original implementation
The regex pattern '\([^()]*(?:\([^()]*\)[^()]*)*\)(*SKIP)(*FAIL)|\|' works by:
1. Matching parentheses and their contents (including nested parentheses)
2. Using (*SKIP)(*FAIL) to skip these matches entirely
3. Then splitting on the remaining pipe characters outside parentheses1 parent ee5d069 commit cd41ba6
1 file changed
+18
-37
lines changedLines changed: 18 additions & 37 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1215 | 1215 | | |
1216 | 1216 | | |
1217 | 1217 | | |
1218 | | - | |
1219 | | - | |
1220 | | - | |
1221 | | - | |
1222 | | - | |
1223 | | - | |
1224 | | - | |
1225 | | - | |
1226 | | - | |
1227 | | - | |
1228 | | - | |
1229 | | - | |
1230 | | - | |
1231 | | - | |
1232 | | - | |
1233 | | - | |
1234 | | - | |
1235 | | - | |
1236 | | - | |
1237 | | - | |
1238 | | - | |
1239 | | - | |
1240 | | - | |
1241 | | - | |
1242 | | - | |
1243 | | - | |
1244 | | - | |
1245 | | - | |
1246 | | - | |
1247 | | - | |
1248 | | - | |
1249 | | - | |
1250 | | - | |
1251 | | - | |
1252 | | - | |
1253 | | - | |
1254 | | - | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
1255 | 1236 | | |
1256 | 1237 | | |
1257 | 1238 | | |
| |||
0 commit comments