.Net Framework Standard/WindowsApplication

고성능 CPU 머신에서 병렬 처리시 저성능 CPU 보다 느린 증상 처리

달빛에취하다 2024. 1. 5. 09:57
  • 수식 모듈의 병렬 처리 부분에서 고성능 PC에서 성능 저하 문제로 최대 병렬 처리 쓰레드 개수 제한
    • 사유 : 수식 묶음에서 Devexpress SpreadSheetControl의 수식 계산 모듈 단일 사용 및 수식 분석 모듈
      (외부 모듈 static 형태로 사용)이 과한 병렬 처리로 리소스 경합 문제로 지연
      (IPropertyChanged 인터페이스를 구현해둔 상태로 Class 에서 사용되며 UI에 Binding 됨)
      (해당 테스트는 Benchmark 툴을 사용한것이 아닌 시간으로 간이 계산함)
    • 8Core 8 Thread 가상 머신 - 24s
    • 16Core 32 Thread 머신 - 60s처리 후24s 
    • 병렬 Linq 에서 최대수 제한을 위한 메서드 사용 WithDegreeOfParallelism