반응형

합병정렬 3

Node.js에서 기본 정렬 / 합병정렬 / 퀵정렬 속도 비교

실험환경 값의 범위 : 0~1억 데이터 개수 : 천만개 ~ 3천만개 반복횟수 : 3회 Note : 합병정렬은 기본 배열의 두배 크기로 메모리 공간을 사용합니다. 실험결과 1000만 1500만 2000만 2500만 3000만 기본정렬 4.16초 6.845초 9.142초 11.421초 14.021초 합병정렬 2.632초 3.881초 5.225초 6.589초 8.358초 퀵정렬 2.129초 3.172초 4.261초 5.487초 6.557초 /** INFO: 파라미터 만큼 배열을 생성하고 랜덤값 입력 */ function generateRandomArray(numData){ let arr = new Array(numData).fill(0); for(let i=0;i= high){ //INFO: 한개밖에 없으면 ..

멀티스레드 환경에서 합병정렬을 통한 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
반응형