내 동료가 어제이 질문에 게시했습니다 : 7-second EF startup time even for tiny DbContext.x64와 x64에서 Entity Framework의 회전 속도가 훨씬 느림
코드를 취하여 가능한 한 많이 분리하기 위해 별도의 솔루션으로 이동 한 후 포함 된 프로젝트의 플랫폼 대상이 EF 시작 프로세스의 런타임에 큰 영향을 미치는 것으로 나타났습니다.
x64를 타겟팅 할 때 첫 번째 DbContext를 스핀 업하려면 7 초, 두 번째 DbContext를 스핀 업하려면 < 초 (x64를 대상으로하는 동료의 결과와 일치)가 걸린 것을 확인했습니다. 그러나 플랫폼 대상을 x86으로 전환하면 첫 번째 DbContext의 스핀 업 시간이 약 4 초 줄어들어 3.34633 초가되고 두 번째 DbContext는 x64 경우와 동일한 시간이 걸렸습니다.
이 경우 Entity Framework는 64 비트 시스템과 32 비트 시스템을 대상으로 할 때 훨씬 다른 초기화 프로세스를 진행하고있는 것처럼 보입니다. 누가 이것을 설명하기 위해 두포에서 진행되고 있는지에 대한 통찰력이 있습니까?
아마 조립 조사입니까? 퓨전 로그를 신속하게 확인할 수 있습니다. –
@CraigStuntz 융합 로그를 확인한 결과, x86 대 x64에서 다르게 나타난 것은 아무것도 보지 못했습니다. – Sidawy
이것은 흥미 롭습니다. FYI EF는 32 비트 또는 64 비트 아키텍처에 특정한 코드를 가지고 있지 않습니다. 이것은 순수 IL입니다. 여전히 그 차이는 엄청납니다. – Pawel