반응형

성능측정 2

멀티스레드 환경에서 합병정렬을 통한 C++과 Go언어 성능비교

[테스트 환경] *운영체제 : 윈도우 10 프로 (1903 버전) *CPU : AMD Ryzen 7 1700 8-core *RAM : 32 GB *C++ 컴파일러 : MinGW 8.1.0 64-bit *Go 컴파일러 : 1.13.5 *데이터 최대값 : 100,000,000 *연산 : 멀티스레드 기반의 합병정렬 [데이터 변수] *스레드 개수 : 1, 2, 4, 8, 16, 32, 64 → 데이터 개수 100,000,000 개 고정 *데이터 개수 : 20,000,000, 40,000,000, 60,000,000, 80,000,000, 100,000,000 → 스레드 개수 16 개 고정 [결과] 스레드 개수 1 2 4 8 16 32 64 C++ 16.8536 8.8936 5.017 3.366 2.79 2.71..

컴퓨터 공학 2020.07.27

vector와 array의 처리 성능 높이는 방법 (실험)

C++에서 일반적으로 크기가 정해지지 않은 배열을 사용하기 위해 vector를 사용하고, 크기가 정해진 배열을 사용하기 위해 array를 사용합니다. 그리고 vector와 array의 원소를 for문을 통해 접근할 때 다음과 같은 코드를 작성합니다. vector vec; int length = vec.size(); for (int i = 0; i < length; i++) { vec[i] = i; } 그리고 문득 vector의 인덱스 접근 방식과 일반 배열 []의 처리 성능이 얼마나 차이나는지 궁금하여 반복문으로 값을 할당하는 실험을 진행하였습니다. 시간 측정 도구는 제가 이전에 작성한 HourMeter 클래스 객체를 사용하여 진행하였습니다. vector와 array 그리고 일반 배열[]을 크기 1,00..

반응형