aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/dev
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-07-05 00:59:45 +0900
committernsfisis <nsfisis@gmail.com>2026-07-05 00:59:45 +0900
commit23860a736f539064a64284a673a1b0e69d24e980 (patch)
treed33d7f31dd1c378f83bf9b27337d94840453c54e /docs/dev
parenta73e44e327776ac4ba79737eea6b6ad00cf00da6 (diff)
downloadphp-shirabe-23860a736f539064a64284a673a1b0e69d24e980.tar.gz
php-shirabe-23860a736f539064a64284a673a1b0e69d24e980.tar.zst
php-shirabe-23860a736f539064a64284a673a1b0e69d24e980.zip
perf(pcre): cache compiled regex patterns across preg_* calls
Composer's classmap generator re-issues the same PHP-derived pattern string for every scanned file (and every token within it), relying on PCRE's built-in compiled-pattern cache to make that free. shirabe had no equivalent, so every Preg::* call recompiled the pattern from scratch via regex::Regex::new(), making `composer create-project` autoload generation ~130x slower than Composer on a fresh laravel/laravel install (130s vs ~1s). Memoizing compiled patterns by their raw string in compile_php_pattern closes that gap. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'docs/dev')
0 files changed, 0 insertions, 0 deletions