/
https://42jerrykim.github.io/ _index.md
SIMD가 여러 데이터를 한 명령으로 처리하는 원리와 SSE에서 AVX·AVX2까지 레지스터 폭이 넓어진 역사적 과정을 정리하고, 스칼라 대비 실제 이득이 나는 조건과 흔한 오해를 판단 기준·intrinsics 검증 예제와 함께 설명합니다. simdjson의 구조 인덱싱(structural indexing)과 On-Demand API를 중심으로 SIMD 기반 JSON 파싱의 2단계 파이프라인을 다루고, 이스케이프·UTF-8 검증의 함정과 도입이 유효한 워크로드 판단 기준을 정리합니다. SIMD·수기 어셈블리 같은 극한 최적화 기법을 도입할 때 성능 이득과 유지보수성·가독성·팀 역량을 저울질하는 판단 프레임워크를 다룹니다. 격리 전략과 ADR 문서화 패턴, bus factor와 되돌리기 비용을 코드 리뷰 관점에서 정리합니다. POPCNT·TZCNT/LZCNT·PDEP/PEXT 같은 BMI/BMI2 명령어가 비트 카운팅·스캔·재배치를 하드웨어 수준에서 처리하는 원리와, std::popcount·컴파일러 내장 함수로 이식성 있게 접근하는 판단 기준을 다룹니다. 컴파일러가 스스로 루프를 SIMD로 바꾸도록 코드를 정렬하는 패턴과, 벡터화 리포트로 실패 원인을 읽어 되돌려 고치는 절차를 다룹니다. 수기 intrinsics 이전 단계로서의 자동 벡터화 적용 판단 기준을 정리합니다. Google Highway 1.4.0과 xsimd 14.2.0, Eigen의 설계 철학과 런타임 디스패치 구조를 비교하고, 수동 intrinsics 대비 이식성·성능 트레이드오프와 라이브러리 선택 기준을 정리합니다. 여러 극한 기법(프리페치·branchless·SIMD)을 하나의 핫패스에 결합 적용한 사례를 통해, 각 기법의 기여도를 ablation 사다리와 leave-one-out으로 분리 측정하고 상호작용·재현성 위험을 판단하는 방법론을 다룹니다. WAL(Write-Ahead Logging)의 내구성 불변식과 fsync/fdatasync 호출 시점, PostgreSQL·MySQL·SQLite의 그룹 커밋·더블라이트 전략이 커밋 지연과 처리량에 미치는 영향을 코드와 벤치마크로 다룹니다. O_DIRECT로 페이지 캐시를 우회하는 원리, 버퍼·오프셋·길이 정렬 요구사항과 EINVAL 실패 모드, statx STATX_DIOALIGN으로 정렬 정보를 조회하는 방법, Windows FILE_FLAG_NO_BUFFERING과의 대응 관계, 캐시 우회가 유리한 워크로드 판단 기준을 다룹니다. flock·fcntl 레코드 락이 지연시간에 미치는 영향, close-on-any-fd 함정과 OFD 락, NFS에서의 잠금 신뢰성 문제를 다루고, 범위 잠금·낙관적 동시성·단일 writer 설계로 락 경합을 줄이는 방법을 정리합니다.