! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

C1 WPF FlexPivot 및 C1DataEngine의 벤치마크 성능 > 블로그 & Tips

본문 바로가기

ComponentOne

블로그 & Tips

C1 WPF FlexPivot 및 C1DataEngine의 벤치마크 성능

페이지 정보

작성자 GrapeCity 작성일 2023-02-22 14:34 조회 871회 댓글 0건

본문

WPF FlexPivot 컨트롤은 광범위한 구현을 제공하여 다양한 기준 또는 태그를 기반으로 데이터를 필터링하는 데 도움을 줍니다. 여전히 일반적으로 간과되는 한 가지 측면은 데이터 집합이 로드되는 방식에 따라 그리드 로드 시간이 크게 향상될 수 있다는 것입니다.


이 블로그에서는 더 큰 데이터 집합을 ComponentOne .NET 6 WPF FlexPivot 컨트롤에 로드하는 수단으로 표준 System.DataTable을 C1DataEngine과 비교하는 방식을 살펴보겠습니다.


이 데이터는 로드 시간별로 비교하며, 여기에서 수집한 모든 정보는 로컬 시스템에서 수집되었습니다. 코드는 FlexPivot Explorer 내의 DataEngine 샘플에서 가져온 것이며, 자세히 살펴보려는 경우에는 여기 GitHub에서 바로 다운로드할 수 있습니다.

C1DataEngine의 배경

자세히 살펴보기 전에 일부 추가 이점과 관련하여 C1DataEngine이 작동하는 방식에 대한 몇 가지 배경 정보를 제공하고자 합니다. 스타터의 경우 ActiveX 및 [ASP.NET](http://asp.net/) Web Forms 컨트롤을 제외하고 WinForms, WPF, Blazor 등을 포함하여 당사에서 제공하는 각 컨트롤 버전 내에서 C1DataEngine을 사용할 수 있습니다.


가장 기본적인 의미로 C1DataEngine은 데이터 집합과 데이터를 반영하려는 컨트롤(그리드, 차트 또는 표) 간의 매체 역할을 합니다. 더 정확히 말하자면 C1DataEngine은 대용량 데이터 집합에 고성능 분석 기능을 전달하는 독립 실행형 .NET 라이브러리입니다. C1DataEngine이 제공하는 인메모리 캐싱 기술 덕분에 C1DataEngine을 매우 유용하게 사용할 수 있으며, 크고 복잡한 데이터 집합을 더 빠르게 추출, 변환 및 로드할 수 있습니다. 데이터가 로드되면 1초도 안 되는 시간에 이루어지는 수백만 개의 레코드 쿼리와 동일합니다. 또한 C1DataEngine은 .NET Core, .NET Framework, .NET 5 및 .NET 6에서 사용할 수 있습니다.



성능 결과 


배경 정보는 충분히 설명드렸고 이제 성능에 대해 알아보겠습니다! WPF FlexPivot 컨트롤로 작업 시 표준 System.DataTable을 사용할 때와 C1DataEngine을 사용한 데이터 집합 로드를 어떻게 비교할 수 있을까요? 로드된 많은 레코드별로 비교 결과를 나누어 보겠습니다.


100,000개의 레코드가 로드된 WPF FlexPivot 컨트롤은 다음과 같습니다.




다음 표에서는 System.DataTable 및 C1DataEngine 개체를 WPF FlexPivot 그리드에 로드하는 경우 시간 성능을 설명합니다.


 

Row Count

Load-time (seconds)

System.DataTable

100,000

2.17

 

500,000

10.74

 

1,000,000

24.39

C1DataEngine

100,000

0.26

 

500,000

0.35

 

1,000,000

0.60

 

5,000,000

2.24


시간 성능 경쟁에서 C1DataEngine을 통합하면 표준 베어본 System.DataTable 구현을 확실히 능가합니다. 로드 중인 데이터 집합의 규모가 커짐에 따라 System.Data.DataView 업데이트 시간은 기하급수적으로 증가했습니다. 데이터 집합이 500,000개의 레코드에서 1,000,000개의 레코드로 두 배가 되면서 업데이트 시간은 10.74초에서 24.39초로 두 배가 넘게 높아졌습니다.


이에 비해 C1DataEngine 내에서 데이터 집합을 두 배로 늘리면 로드 시간이 0.35초에서 0.60초로 2배 미만으로 영향을 받습니다. 이는 1/4초 증가한 것입니다. 재미삼아 C1DataEngine 개체를 통해 5백만 개의 레코드를 FlexPivot 컨트롤에 로드하는 시간을 테스트하고 이 결과를 위의 표 끝에 추가했습니다.


C1DataEngine은 인상적인 2.24초 만에 5,000,000개의 레코드 테이블을 업데이트할 수 있으며 샘플 크기가 5배 증가했다는 점을 고려할 때 선형 이하 시간(sublinear time) 복잡성을 보여줍니다.





지금 바로 ComponentOne을 다운로드하여 직접 테스트해보세요!

 
  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.