LLBLGen Pro에 대한 성능 정보를 찾기 위해 인터넷을 최고/최저로 검색했습니다. 발견 된 것이 없습니다. LLBLGen Pro가 Nhibernate와 어떻게 비교되는지 알고 싶었습니다. 감사합니다LLBLGen Pro는 Nhibernate Performance Wise와 어떻게 쌓아 놓았습니까?
답변
질문 없이는 대답 할 수 없습니다. 응답으로 묻는 질문은 다음으로 시작합니다.
- 어떤 종류의 응용 프로그램입니까? 데이터 중심? 비즈니스 로직 중심?
- 데이터의 양은 어느 정도입니까?
- 어떤 종류의 데이터 작업을 말하고 있습니까? 주로 읽습니까? 대부분 씁니까?
일반적으로 LLBLGen은 매우 잘 수행됩니다. 우리는 내가 일하는 10 개 이상의 프로젝트 (몇 개의 엔터프라이즈 규모의 프로젝트 포함)에 사용했고, 성능으로 보아 보았던 몇 가지 문제점은 항상 코드가하는 일에 대한 오해의 결과였습니다 (학습 곡선이 있음). 잘못 구현 된 물리적 모델 (예 : 색인 누락).
두 프레임 워크는 데이터 액세스 문제에 매우 다르게 접근합니다. LLBLGen의 작업은 일반적으로 강력한 데이터 배경을 가지고 있다면 쉽게 이해할 수있는 SQL로 변환됩니다. NHibernate는 성능 향상을 위해 가능할 때 세션과 캐시를 사용하여 메모리에 데이터를 유지합니다 (면책 조항 : NHibernate 전문가). LLBLGen은 이러한 종류의 개념을 지원하지 않습니다. 대신 연결이 끊긴 상태에서 작동하고 엔티티 객체에 변경 내용 추적 정보를 직접 저장합니다.
결론은 프레임 워크가 취하는 접근 방식이 매우 다르므로 시스템이하는 일에 대해 더 많이 알지 못하면 어떤 것이 더 잘 수행 될지 예측하기 어렵습니다. 오른쪽 프레임에서 두 프레임 워크를 사용하여 데이터 액세스 성능이 주요 성능 병목 현상이 아닌 시스템을 설계 할 수 있습니다.
처음에 우리는 LLBLGen @ ORMBattle.NET을 테스트했는데, 실현보다 NH보다 2 배 빠릅니다. LINQ 쿼리 컴파일 시간은 꽤 좋았습니다 (~ 4000 쿼리/초). 그러나 CUD 작업은 NH보다 현저하게 느립니다 (LLBLGen에서 CUD 배치는 없음).
- NH이 때문에 구체화 파이프 라인의 상대적으로 느린 : 당신은 같은 세션에있는 개체의 많은 양을 처리 할 때
두 프레임 워크는 경우 상대적으로 느린 있어야합니다. 왜 그런지 잘 모르겠습니다. 더티 검사를 구현하기 위해 NH는 어떤 구체화 된 객체의 복제본을 어딘가에 저장해야합니다. 최소 2 배 이상 RAM = ~ 2 배 이상 느려짐.
- LLBLGen은 상대적으로 "뚱뚱한"엔티티를 사용합니다. 사전에 필드를 저장하는 것처럼 보입니다. RAM 소비가 RAM 소비에 영향을 미치는 필수 요소 중 하나이기 때문에 분명히 성능면에서 좋지 않습니다.
좀 더 자세한 설명은 this FAQ question 및 Test Suite Summary을 참조하십시오.
즉, LLBLGen Pro는 읽기에서는 NH보다 빠르지 만 쓰기는 느려야합니다.
ORMBattle.Net은 논란이 많은 웹 사이트로 LLBLGen Pro 및 NHibernate와 경쟁하는 ORM 도구를 만든 업체가 만들었습니다. MINIMUM에서는이 답변에 많은 주식을 넣기 전에 출처를 고려하십시오. 다음은 NH의 주요 공헌자 중 한 사람이 작성한 블로그 게시물입니다. LLBLGen의 수석 개발자 인 Frans Bouma의 의견이 많습니다. http://ayende.com/Blog/archive/2009/08/ 15/benchmarks-are-useless-yes-again.aspx –
성능 테스트는 다음 위치에 있습니다. http://code.google.com/p/ormbattle/source/browse/#svn/trunk/Tests/Performance –
" 논쟁의 여지가있는 웹 사이트 "(사실입니다 - 주위에 많은 논쟁이있었습니다), 저자의 견해를 연구하기 위해 @ ORMBattle.NET 블로그를 공부하는 것이 좋습니다. –
- 1. NHibernate insert/lookup performance
- 2. llblgen : 어떻게 필터링합니까?
- 3. .ajaxComplete가 계속 쌓아 올림
- 4. jquery performance td replace
- 5. performance of system.runtime.caching
- 6. Node.js console.log performance
- 7. Generics vs Object performance
- 8. Generics and Performance question
- 9. std :: time (0) performance
- 10. C# Dictionary Performance
- 11. AJAX Autocomplete performance
- 12. C# toString() performance
- 13. performance of rand()
- 14. LLBLGen Pro의 트랜잭션
- 15. 중첩 된 선택 LLBLGen
- 16. LLBLGen 계단식 삭제?
- 17. LLBLGen - TransactionScope 또는 DataAccessAdapter.StartTransaction
- 18. LLBLGen Pro v2.6 디자이너 문제
- 19. JDialogs를 사용하여 JOptionPane에 수직으로 버튼을 어떻게 쌓아 올립니까?
- 20. FileMaker Pro는 10 - - ODBC/JDBC 의미
- 21. jQuery data() vs Objects (Performance)
- 22. mysql on xp performance issues
- 23. LLBLGen "테이블 병합"테이블 관계
- 24. Linq to LLBLGen 쿼리 문제
- 25. LLblgen : 다른 것을 선택 하시겠습니까?
- 26. NHibernate 플러시 - 어떻게 작동합니까?
- 27. llblgen Pro SELECT TOP (n) 해당 쿼리
- 28. 가상 시트를 쌓아 올려 CSS를 통해 재정렬하십시오.
- 29. Eclipse RCP - 편집기 영역과 뷰를 쌓아 올리려고합니까?
- 30. Appcelerator : 뷰를 세로로 쌓아 올릴 수 있습니까?
엔티티 프레임 워크에 대해 어떻게 생각하십니까? – Luke101
흠 .. 나는 당신의 메시지에서 링크를 읽고 Nhibernate가 실제로 공격 당했다고 말해야 만합니다. .NET을 사용하여 nhibernate에 대한 좋은 책을 알고 계십니까? – Luke101
좋은 NHibernate 서적을 모른다 - 좋은 출발점은 다른 의견 (특정 게시물이 아니라 블로그 자체)에 링크 된 블로그 일 것입니다. MS는 엔티티 프레임 워크가 미래에 있다고 믿습니다. MS는 앞으로도 계속 개발을 진행할 것이라고 생각합니다. 그러나, 나는 LLBLGen 또는 NH 현재의 육화에서 거의 견고하다고 생각하지 않습니다. –