benchmark(2)
-
StringBuilder vs String Join
회사에서 StringBuilder가 쓰여진 부분을 List로 모은 다음, 마지막 Join을 통해 성능 개선을 했다고 발표 한 자료가 있었습니다. 하지만 제가 알기로는 StringBuilder가 가장 빠르다고 알고 있는데, List와 Join을 통해 성능 개선을 했다고 해서 궁금해서 Benchmark를 돌려보기로 하였습니다. 집에서 사용하는 OS가 리눅스라 VS Code와 dotnet CLI를 통해 예제를 실행하도록 하겠습니다. Spec. CPU : Intel Core i5-4690 .NET Version : .NET 7.0.3 OS : Linuxmin 21 BenchmarkDotnet Version : v.0.13.5 프로젝트 준비 프로젝트 생성 먼저 아래와 같이 프로젝트를 생성합니다. $ mkdir S..
2023.06.04 -
Python Benchmark
내가 짠 코드에 대해 성능 테스트를 할 때 사용 하는 방법이 Benchmark 입니다. 물론 time() 함수를 통해 함수의 시작과 끝의 시간을 비교하여 속도를 측정 할 수 있지만, 데이터를 직접 넣어 줘야하는 번거로움이 있습니다. 이때 pytest-benchmark를 사용하면 지정한 값을 반복적으로 넣어 최소시간, 최대시간, 평균 시간 등을 출력 해줍니다. pytest-benchmark 설치 설치하는 방법은 pip를 통해 쉽게 설치가 가능합니다. > python pip install pytest-benchmark데모 1부터 n까지의 합을 출력하는 함수가 있습니다. fast-sum() 함수는 분할정복으로 최적화를 시킨 함수입니다. normally_sum() 함수는 일반적인 반복문을 통해 1부터 n까지 하..
2023.03.13