2009-12-04 3 views

답변

6

질문 없이는 대답 할 수 없습니다. 응답으로 묻는 질문은 다음으로 시작합니다.

  • 어떤 종류의 응용 프로그램입니까? 데이터 중심? 비즈니스 로직 중심?
  • 데이터의 양은 어느 정도입니까?
  • 어떤 종류의 데이터 작업을 말하고 있습니까? 주로 읽습니까? 대부분 씁니까?

일반적으로 LLBLGen은 매우 잘 수행됩니다. 우리는 내가 일하는 10 개 이상의 프로젝트 (몇 개의 엔터프라이즈 규모의 프로젝트 포함)에 사용했고, 성능으로 보아 보았던 몇 가지 문제점은 항상 코드가하는 일에 대한 오해의 결과였습니다 (학습 곡선이 있음). 잘못 구현 된 물리적 모델 (예 : 색인 누락).

두 프레임 워크는 데이터 액세스 문제에 매우 다르게 접근합니다. LLBLGen의 작업은 일반적으로 강력한 데이터 배경을 가지고 있다면 쉽게 이해할 수있는 SQL로 변환됩니다. NHibernate는 성능 향상을 위해 가능할 때 세션과 캐시를 사용하여 메모리에 데이터를 유지합니다 (면책 조항 : NHibernate 전문가). LLBLGen은 이러한 종류의 개념을 지원하지 않습니다. 대신 연결이 끊긴 상태에서 작동하고 엔티티 객체에 변경 내용 추적 정보를 직접 저장합니다.

결론은 프레임 워크가 취하는 접근 방식이 매우 다르므로 시스템이하는 일에 대해 더 많이 알지 못하면 어떤 것이 더 잘 수행 될지 예측하기 어렵습니다. 오른쪽 프레임에서 두 프레임 워크를 사용하여 데이터 액세스 성능이 주요 성능 병목 현상이 아닌 시스템을 설계 할 수 있습니다.

+0

엔티티 프레임 워크에 대해 어떻게 생각하십니까? – Luke101

+0

흠 .. 나는 당신의 메시지에서 링크를 읽고 Nhibernate가 실제로 공격 당했다고 말해야 만합니다. .NET을 사용하여 nhibernate에 대한 좋은 책을 알고 계십니까? – Luke101

+0

좋은 NHibernate 서적을 모른다 - 좋은 출발점은 다른 의견 (특정 게시물이 아니라 블로그 자체)에 링크 된 블로그 일 것입니다. MS는 엔티티 프레임 워크가 미래에 있다고 믿습니다. MS는 앞으로도 계속 개발을 진행할 것이라고 생각합니다. 그러나, 나는 LLBLGen 또는 NH 현재의 육화에서 거의 견고하다고 생각하지 않습니다. –

4

처음에 우리는 LLBLGen @ ORMBattle.NET을 테스트했는데, 실현보다 NH보다 2 배 빠릅니다. LINQ 쿼리 컴파일 시간은 꽤 좋았습니다 (~ 4000 쿼리/초). 그러나 CUD 작업은 NH보다 현저하게 느립니다 (LLBLGen에서 CUD 배치는 없음).

  • NH이 때문에 구체화 파이프 라인의 상대적으로 느린 : 당신은 같은 세션에있는 개체의 많은 양을 처리 할 때

    두 프레임 워크는 경우 상대적으로 느린 있어야합니다. 왜 그런지 잘 모르겠습니다. 더티 검사를 구현하기 위해 NH는 어떤 구체화 된 객체의 복제본을 어딘가에 저장해야합니다. 최소 2 배 이상 RAM = ~ 2 배 이상 느려짐.

  • LLBLGen은 상대적으로 "뚱뚱한"엔티티를 사용합니다. 사전에 필드를 저장하는 것처럼 보입니다. RAM 소비가 RAM 소비에 영향을 미치는 필수 요소 중 하나이기 때문에 분명히 성능면에서 좋지 않습니다.

좀 더 자세한 설명은 this FAQ questionTest Suite Summary을 참조하십시오.

즉, LLBLGen Pro는 읽기에서는 NH보다 빠르지 만 쓰기는 느려야합니다.

+4

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 –

+0

성능 테스트는 다음 위치에 있습니다. http://code.google.com/p/ormbattle/source/browse/#svn/trunk/Tests/Performance –

+0

" 논쟁의 여지가있는 웹 사이트 "(사실입니다 - 주위에 많은 논쟁이있었습니다), 저자의 견해를 연구하기 위해 @ ORMBattle.NET 블로그를 공부하는 것이 좋습니다. –