태그: 프로파일링
8편
-
브라우저 DevTools 가이드 — Performance·Memory·Network·Sources 심화
Chrome DevTools Performance 플레임 차트에서 롱 태스크와 레이아웃 스래싱을 찾고, 힙 스냅샷 비교로 Detached DOM 누수를 추적하며, Network 워터폴 단계와 조건부·로그포인트·XHR 브레이크포인트를 활용하는 법을 설명합니다.
-
C++ 프로파일러 비교: perf 화염 그래프, gprof, Valgrind Callgrind, VTune, Tracy
서버 병목을 찾을 때 perf 화염 그래프, gprof 호출 그래프, Valgrind Callgrind·Cachegrind, Intel VTune, Tracy 중 무엇을 언제 쓸지 비교합니다. 각 도구의 설치와 명령, 출력 해석법을 같은 벤치마크 프로그램으로 따라가며 익힙니다.
-
메모리 누수 찾기: 프로파일러 선택과 재현 시나리오 | Valgrind·ASan·Heaptrack
메모리가 계속 늘어나는 서비스에서 C++는 ASan·LSan, Valgrind, Heaptrack, Python은 tracemalloc과 memory_profiler, Node.js는 힙 스냅샷으로 누수를 찾는 방법을 보여줍니다. 재현 시나리오를 문서화하는 법과 누수와 단편화의 구분도 다룹니다.
-
Python 데이터 처리 스크립트 최적화 사례 | cProfile로 병목 찾고 NumPy·Cython·multiprocessing 비교하기
느린 Python 데이터 처리 스크립트를 cProfile로 분석해 중첩 루프와 문자열 연산 병목을 찾고, NumPy 벡터화, Cython, multiprocessing을 차례로 적용해 실행 시간을 줄여 간 과정을 단계별 측정 결과와 함께 보여 줍니다.
-
C++ REST API 성능 최적화 사례: perf로 병목 찾고 해시맵 인덱스·string_view로 응답 시간 줄이기
200ms 걸리던 C++ REST API 응답을 perf 프로파일링으로 병목부터 찾아 20ms까지 줄인 사례입니다. 요청마다 전체를 훑던 탐색을 해시맵 인덱스로 바꾸고, 문자열 복사를 string_view와 이동 의미론으로 없애고, JSON 직렬화를 병렬화한 단계별 효과를 보여 줍니다.
-
Node.js 성능 최적화 | 클러스터링, 캐싱, 프로파일링
Cluster 모듈과 PM2 클러스터 모드로 CPU 코어를 활용하고, 인메모리·Redis 캐싱과 무효화, DB 인덱스와 커넥션 풀, 동시 실행 제한, 메모리 누수 방지, clinic.js·Chrome DevTools 프로파일링, autocannon 벤치마킹을 다룹니다.
-
C++ 프로그램이 느릴 때 병목 찾기: perf·Flame Graph·VS Profiler와 흔한 병목 7가지
C++ 프로그램이 예상보다 느릴 때 perf·Flame Graph·Visual Studio Profiler로 핫스팟을 찾고, 불필요한 복사, 과도한 메모리 할당, 캐시 미스, 락 경합 같은 흔한 병목을 코드로 고치는 과정을 보여줍니다.
-
C++ 프로파일링: perf·Tracy·VTune 도구 비교와 병목 찾는 절차
추측으로 최적화하다 시간을 날리지 않도록 std::chrono 측정에서 시작해 perf, gprof, Callgrind, Tracy, VTune 같은 도구로 핫스팟을 찾는 절차를 보여줍니다. Flame Graph 생성, 측정과 재측정을 반복하는 흐름, 벤치마크할 때 빠지기 쉬운 함정도 다룹니다.