thisgun c4db6e7751 [perf]cut_str() 메모리 사용량과 CPU 오버헤드 감소
기존 구현은 preg_split("//u")로 입력 문자열의 모든 문자를 PHP 배열로
분해한 뒤 count/array_slice/join 3단계로 처리하여, 짧은 문자열이든
긴 문자열이든 항상 문자 수만큼 배열 원소를 할당하고 regex를 호출함.

게시글 목록의 제목/내용 표시 등 페이지당 수십~수백 회 호출되는
핫패스에서 불필요한 오버헤드를 발생시킴.

개선:
1. 바이트 길이 빠른 경로: strlen(str) <= len이면 UTF-8 특성상 문자 수도
   보장되므로 즉시 반환. ASCII/짧은 제목은 mb_strlen 호출 없이 종료.
2. mbstring 확장 사용: mb_strlen + mb_substr로 배열 생성 없이 상수
   메모리로 길이 체크/절단 처리.
3. preg_split 기반 기존 로직은 mbstring 미설치 환경 폴백으로 유지.

의미론적 동등성 유지 (잘라낸 결과와 suffix 부착 조건 모두 동일).
2026-04-16 02:25:12 +00:00
2025-09-04 12:37:12 +09:00
2025-09-19 17:53:50 +09:00
2024-04-03 10:42:04 +09:00
2025-09-19 17:53:50 +09:00
2025-09-19 17:53:50 +09:00
2016-02-19 11:22:17 +09:00
2014-06-09 14:00:04 +09:00
2024-06-05 16:18:50 +09:00
2026-04-06 03:47:15 +00:00
S
Description
No description provided
Readme
119 MiB
Languages
PHP 70.9%
JavaScript 16.7%
CSS 7.6%
HTML 4.6%
Python 0.2%