응 주말과 조금 전에 구현한 결과를 종합하면 결과가 이래.
최초구현: 잘못 만들었어.
sequential time: 737.1136424400001 ms
parallel time: 1233.8495565199999 ms
speedup: 0.5974096586937113
어제 성공한 구현: 점수는 나오는데 뭔가 좀 찝찝한 느낌이 들었어.
sequential time: 3278.6422397600004 ms
parallel time: 696.74279492 ms
speedup: 4.705670820946851
조금 전에 대폭 개선한 구현: 이게 출제자가 원래 의도한 수준 같아.
sequential time: 274.6181388 ms
parallel time: 198.56562839999998 ms
speedup: 1.3830094413258485
벤치마크 방법은 워밍업으로 20 ~ 40회 사이로 실행하고, 측정용으로 25회 실행하게 되어 있어.
마지막 구현이 별로 향상이 안된 것 같은 느낌도 있는데, 몇 일 전에 누가 물어봐서 강사가 적어놓은 설명을 보면,
이 방식으로 만들면 알아서 CPU 코어 수에 비례해서 속도 향상이 올라가게 되어있대.
즉, 내 컴퓨터가 2코어 CPU 를 써서 별로 향상이 안된거야.
4코어 CPU 에서 돌린 결과는 이래.
sequential time: 240.60596712000003 ms
parallel time: 87.45751372000001 ms
speedup: 2.751118307459701
참으로 오묘한 병렬처리야.
대다내