2011-09-05 6 views
4

나는 우리가 업그레이드 할 수 있는지 윈저 3.0을 시험하고있다.Windsor 3.0 시작 시간을 개선하려면 어떻게해야합니까?

(지속적으로 5000ms 이상)

var t = DateTime.Now; 
var container = new WindsorContainer(); 
Debug.WriteLine("Created in " + (DateTime.Now - t).TotalMilliseconds); 

이 5421.875ms 이동합니다 다음 콘솔 응용 프로그램은 WindsorContainer을 만들 수 있습니다.

이 생성 시간을 줄이기위한 제안 사항이 있으십니까?

+0

시스템 자원을 사용하고있는 것을 판별하기 위해 TaskManager를보고 있습니다 ... 인스턴스에 5.5 초가 걸리면 일부 자원 문제 (예 : 메모리 누수)가 의심됩니다. – IAbstract

+0

이것은 간단한 콘솔 응용 프로그램입니다. 메모리 누수가 없습니다. 작업 관리자에는 경합이 없습니다. 이 문제는 Windsor 3의 DefaultKernel (또는 일부 하위 시스템)에 도입 된 것으로 보입니다. 문제는 Windsor 2.5.2에는 없습니다. – Jeff

+0

오, 그럴만 한 가치가 있습니다. .Net의 어떤 버전을 사용하고 있습니까? – IAbstract

답변

3

이 동작의 원인은 성능 카운터의 초기화입니다.

베타 2 (현재 트렁크에 있음)로 시작하는 성능 카운터는 기본적으로 해제되어 성능 저하가 없어야합니다.

1

어떻게 Windsor 3.0 성능을 향상시킬 수 있습니까? 이 경우

:

  • 당신이 Castle.Windsor 및 Castle.Core
  • 의 PDB의 sources을 얻기가 있는지 확인합니다.
  • WindsorContainer의 인스턴스화에 중단 점 넣기
  • 문제의 원인을 찾을 때까지 단계별로 디버깅하십시오.
  • 문제 해결
  • 요청을 제출하십시오.

원인을 찾으려면 dotTrace과 같은 일부 프로파일 러를 사용하십시오.

+0

Mauricio : 시간이 허락하는 한 Castle 프로젝트에 기꺼이 기여하게되어 기쁩니다. Windsor 개발자가하는 모든 것에 감사드립니다. 그러나이 버그를 해결할 시간이 없었습니다. 나는이 질문의 목적에 정말로 생산적이지 않다. – Jeff

+1

나는이 질문을 게시하지 않고 버그 보고서를 제출하는 것이 더 나을 것이라고 생각합니다. – Jeff

+0

@ JeffN825 : Windsor 3.0 성능을 향상시키는 방법을 물었고 그 대답을 전합니다. 귀하의 질문에 정확하게 대답하는 것이 "생산적이지 않습니까?" –

관련 문제