/
https://42jerrykim.github.io/ _index.md
마이크로벤치마크 설계 원칙을 다룹니다. 죽은 코드 제거·상수 접힘이 측정을 무효화하는 함정, CPU 주파수 고정·코어 격리·워밍업의 노이즈 통제, 반복 가능한 측정 환경을 만드는 기준을 실행 가능한 코드와 명령으로 정리합니다.
p95/p99/p999 백분위 해석과 표본 수 요건, coordinated omission 문제와 HdrHistogram 보정, GC·페이지 폴트·락 경합·인터럽트가 만드는 꼬리 지연의 원인 분해 전략까지 µs 시스템의 tail latency 분석을 다룹니다.
Valgrind 계열 도구(memcheck·cachegrind·callgrind·massif)의 동적 바이너리 계측과 캐시 시뮬레이션 원리, 도구별 오버헤드, KCachegrind 시각화를 다루고 시뮬레이션 수치와 하드웨어 실측의 차이를 판단하는 기준을 정리합니다.
Event Tracing for Windows의 프로바이더·세션·컨슈머 아키텍처부터 WPR/WPA 워크플로우, CPU 샘플링·Wait 분석, xperf, TraceLogging 커스텀 계측까지 Windows에서 µs 단위 지연을 추적하는 방법을 정리합니다.
힙 스냅샷, 할당 추적, 라이프타임 분석으로 메모리 사용 패턴을 진단하는 방법을 다룹니다. heaptrack·massif·jemalloc 프로파일로 할당 핫패스를 찾아 제거하고, CPU 프로파일과 결합해 개선을 검증하는 워크플로우를 정리합니다.
OpenTelemetry 분산 트레이싱의 스팬 생성·컨텍스트 전파·익스포트가 만드는 계측 오버헤드를 단계별로 분해하고, µs 단위 서비스에서 head-based·tail-based 샘플링으로 비용을 낮추며 꼬리 지연을 탐지하는 전략을 다룹니다.
인터럽트 기반 샘플링 프로파일러의 동작 원리를 PMU 카운터 오버플로부터 콜스택 언와인딩(fp·DWARF·LBR)까지 해부하고, perf record/report 기본 워크플로우와 Intel VTune Hotspots 입문, 샘플링 편향과 한계를 정리합니다.
성능 변경을 프로덕션에서 검증하는 A/B 테스트 방법론을 다룹니다. 카나리·섀도 트래픽 설계, 무작위화와 표본 크기, 시스템 노이즈 대응, Mann-Whitney U 기반 비모수 판정까지 지연 지표의 통계적 판정 절차를 정리합니다.
프로덕션에서 상시 동작하는 저오버헤드 프로파일링을 다룹니다. pprof 포맷과 eBPF 에이전트 원리, Grafana Pyroscope 2.0의 diskless·stateless 아키텍처, Parca 운영 사례, 오버헤드 측정법과 도입 판단 기준을 정리합니다.
벤치마크 결과를 단일 숫자가 아닌 분포로 다루는 통계적 벤치마킹을 정리합니다. 왜곡된 분포와 이상치, 부트스트랩 신뢰 구간, Mann-Whitney U 검정, 효과 크기와 최소 유의 변화량, 반복 횟수 설계까지 µs 단위 성능 비교의 판단 근거를 세웁니다.