본문 바로가기

프로젝트2 : 개발 관련 유틸리티

(2)
performance profiler 특정 함수, 또는 로직의 수행 시간을 측정할 프로파일러가 필요해졌다. visual studio 자체적으로도 성능 프로파일러가 존재한다. 하지만 너무 무겁기도 하고(정확히 얼마나 느려지는지는 측정해보지 않았다. 그냥 딱 봐도 느려진다.) 무엇보다 디버그 단계에서 하나하나 집어보는 게 아닌 "몇 시간, 며칠 단위로 켜 두고 누적된 값"을 얻기에는 무리가 있었다. 그래서 직접 만들기로 했다. 성능 측정의 두가지 기준인 메모리 사용량과, 소요시간을 측정하려 한다. 시작 지점과, 종료 지점을 지정하여 그 구간을 대상으로 측정 특정 블록 (함수, 중괄호 블록 등)을 대상으로 측정 이때, 프로파일링 모드를 쉽게 변경 가능할 것 이상의 내용을 소요시간, 메모리 변화에 대하여 측정하여 파일 출력 등의 요구사항이 존재할 ..
CSV file parser csv 파일을 읽어 2가지 타입으로 저장할 수 있는 파서가 필요해졌다. json파서나 csv파서나 나와있는 오픈소스들이 있지만 (rapidjson 같은...) 필요 이상의 기능이 많거나, 최소 기능뿐이라 결국 어느 정도 커스텀을 해야 했다. 그래서 직접 만들기로 했다. 그래서 이후 사용할 간단한 파서를 하나 만들었고, 필요에 의해 2차원 벡터를 이용해 csv 모양 그대로 저장하는 것 첫 번째 행을 key로 갖는 map의 벡터로 저장하는 것 두 가지 타입으로 준비했다. 메모리를 csv 파일로 출력할 때, 두 번째 타입은 key의 순서가 깨진다는 단점과, key의 충돌 등 해결할 문제가 조금 남아있으므로 현재 진행 중인 토이 프로젝트를 간단히 마무리한 이후 천천히 수정할 예정이다. GitHub - Young..