이것이 가장 효율적인 방법으로 어떻게 달성 될 수 있는지 궁금합니다.LINQ를 효율적으로 병렬화하는 방법 예외 메서드
나는
a.RemoveAll(x => b.AsParallel().Any(y => y == x));
또는 다른
a.AsParallel().Except(b.AsParallel());
또는 뭔가를 사용해야합니까?
근본적인 차이점은 누구나 설명 할 수 있습니까? 측정에서부터 두 번째 줄이 느린 것 같습니다. 이것에 대한 이유는 무엇입니까? 두 ParallelQuery<T>
동작으로 두 번째 옵션을 사용
[당신의 말을 경구] (http://ericlippert.com/2012/12/17/performance-rant/)로 우리에게 왜 묻고 있습니까? (테스트 해보고 어느 것이 더 빠르다는 것을 알아 내라. 그리고 유즈 케이스의 경우 아직 충분히 빠르지 않다면 * 여기 * 예제 코드를 사용하여 여기로 와서 "너무 느리다. 빨리 할 수 있을까?") –
디버거가 연결되어 있지 않은 상태에서 릴리스 모드로 실행하면 여전히 속도가 느립니까? –
두 개의 쿼리가 동일하지 않습니다. 첫 번째 것은 두 개의 목록에서 작동하고 두 번째 목록은 세 번째 목록에서 작동합니다 (결과를 저장하기 위해 세 번째 목록이 필요하기 때문에 'a'에 할당하더라도 메모리에 임시 목록이 있습니다.) –