정상적인 foreach 루프에서 현재 처리되는 항목의 목록이 있다고 가정합니다. 항목 수가 코어 수보다 상당히 많다고 가정합니다. for-loop를 Parallel.ForEach로 리팩토링하기 전에 각 항목이 대략적으로 얼마나 오랜 시간이 걸릴 것입니까?Parallel.Foreach를 사용하기위한 최소 항목 처리 시간
2
A
답변
1
이것은 병렬 프로그래밍의 핵심 문제 중 하나입니다. 정확한 답을 얻으려면 여전히 정확한 상황에서 측정해야합니다.
그러나 TPL의 큰 장점은 이전보다 훨씬 더 작고 작업 항목이 너무 작을 때 처벌받지 않는다는 것입니다.
한 번만 두 개의 중첩 루프를 사용하여 데모를 만들었으므로 외부 회로 만 병렬로 실행해야 함을 나타내려고했습니다. 그러나이 데모에서는 두 가지를 모두 Parallel.For()로 바꾸는 데 큰 단점을 보지 못했습니다.
루프의 코드가 독립적 인 경우 이동하십시오.
#items/#cores ratio는 그다지 관련이 없으며, TPL은 범위를 분할하고 '적절한'양의 스레드를 사용합니다.
0
대규모 데이터 처리 프로젝트에서 저는 Parallel에서 크게 도움이 된 두 개 또는 세 개의 명령문을 포함하고있는 모든 루프를 작업하고 있습니다 .Foreach. 루프가 작업중인 데이터가 원자 적이라면 병렬 라이브러리가 제공하는 엄청난 이점과 비교할 때 매우 적은 단점이 있습니다.
관련 문제
- 1. mysql에서 사용하기위한 변환 시간
- 2. 제한 시간에 Parallel.ForEach를 깨는 방법
- 3. 시간 출석에 대한 쿼리 : 하루 최대 시간 및 최소 시간
- 4. 완료시 Parallel.ForEach를 어떻게 후속 조치합니까?
- 5. ObjectContext.Add에서 Parallel.ForEach를 사용할 수 있습니까?
- 6. Parallel.ForEach를 사용하여 다른 합계 결과
- 7. 네거티브 시간 범위 처리
- 8. 최소 스패닝 트리 실행 시간? (Prim 메서드)
- 9. 풍선 메시지의 최소 시간 제한은 무엇입니까?
- 10. 최소 조회 시간 복잡성이있는 좋은 방법 제안
- 11. Silverlight 스플래시 화면의 최소 표시 시간 추가
- 12. ui datepicker 최대/최소 시간 설정하기
- 13. 웹 사이트에서 SQLCommand 처리 시간 초과 처리 #
- 14. 시간 필드 항목 유효성 검사
- 15. 다른 스레드의 목록 항목 처리
- 16. 메뉴 항목 처리 이벤트 - Android
- 17. 최소 시간 동안 jquery 진행 대화 상자가 표시되는지 확인
- 18. 최대 실행 시간 오류 처리
- 19. 웹 요청 제한 시간 처리?
- 20. NServiceBus를 사용하여 시간 제한 처리
- 21. AJAX 통화 측정 처리 시간
- 22. Java에서 네트워크 시간 초과 처리
- 23. 연결 시간 초과 오류 처리
- 24. SOAP의 처리 시간 데이터 유형
- 25. Parallel.ForEach를 사용하여 최소값 중에서 최소값 선택하기
- 26. 최소 대기 시간 작은 크기의 데이터 인터넷 전송 프로토콜? C#
- 27. gorm에서 시간을 사용하기위한 데이터 유형은 무엇입니까?
- 28. 시간 스탬프가있는 편집/Levenstein 거리 - 비슷한 (최소) 비용의 다른 경로
- 29. 항목 시간이 2/3 시간 떨어져 있습니다.
- 30. MT4 MetaTrader4의 시간 기반 항목 신호