이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 3028|회답: 0

[출처] .NET/C# 컬렉션: Any() 또는 Count() 중 더 빠른 방식이 더 중요합니다

[링크 복사]
게시됨 2023. 6. 28. 오후 7:34:31 | | | |
요구사항: 최근 프로젝트 팀 동료들이 데이터 count() > 0을 Any()로 변경하여 컬렉션(IQueryble 쿼리 데이터베이스가 아님)에 데이터가 있는지 판단했고, 왜 변경했는지(최적화) 이유를 물었지만 답변을 받지 못했습니다.

벤치마크를 사용해 다음 Any()와 Count() 중 어느 쪽이 더 빠른지 비교하세요.

결론부터 시작해 봅시다(.NET Framwork에서):Count > Any() > Count().NET 6에서는 Count()와 Any() 성능이 크게 다르지 않지만, 그래도데이터가 있는지 수집할 때 Any()가 권장됩니다

테스트 코드는 다음과 같습니다:


.NET Framework 4.8.1벤치마크 데이터는 다음과 같습니다:



.NET 6벤치마크 데이터는 다음과 같습니다:



.NET Framwork Any() > Count() 성능이라고 하지 않았나요? 왜 Count()가 List보다 빠른가요? 그 이유는 List의 근본적인 Count() 메서드가 Count 필드를 호출하기 때문이며, 아래 그림에서 볼 수 있습니다:




(끝)





이전의:.NET/C# 메서드 매개변수 NULL null
다음:ASP.NET ThreadStatic, CallContext, HttpContext의 차이점
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com