컴퓨터의 파일을 검색하는 간단한 검색 유틸리티를 만들었습니다.
파일을 검색하고 검색 결과를 새로운 형식으로 표시하는 displayForm
함수를 호출하는 mainloop
함수에 일치하는 항목 목록을 만드는 함수가 search
입니다.
search
함수가 약 1 초 만에 검색을 완료하더라도 시작 후 처음 응용 프로그램을 실행할 때마다 결과 창을 표시하는 데 걸리는 시간이 상당한 시간 (약 10 초)이 소요됩니다. 이는 시작한 후 처음으로 검색 할 때만 발생합니다. 그것은 처음 또는 다음 번 실행에 관계없이 시간의 거의 동일한 금액을 소요하고 displayForm
의 작업은 매우 간단하기 때문에 내가 search
기능의 문제를 생각하지 않기 때문에양식을 여는 데 처음으로 시간이 오래 걸리는 이유는 무엇입니까?
나는 search
기능을위한 코드를 제공하고 있지 않다. 목록 상자를 만드는 것은 그것이 처음 또는 다음 번 실행에 관계없이 같은 시간이 걸립니다
public void displayForm()
{
// Do some stuff here
// Make a listbox and add items to display.
SearchForm.ShowDialog() ;
}
또한, 몇 가지 경우 실험에 의해, 난 당신을 알려야합니다.
어떤 이유가있을 수 있습니까?
몇 개의 항목에 대해 이야기하고 있습니까? – LarsTech
처음 실행시에는 모든 것이 JIT되고 메모리에로드되어야합니다. 이후에 계속되는 요청은 사용할 준비가 될 때까지 훨씬 더 빠릅니다. 그건 정상입니다. 더 빠르게 만들려면 아마도 네이티브로 만드는 NGen을 사용하여 응용 프로그램을 컴파일해야합니다. 그렇지 않아도 .NET 런타임 기능 및 환경을 호출하거나 사용하지 않아도됩니다. 시나리오가 오래 걸리는 이유는 다양합니다. GPU 렌더링, 사용중인 컨트롤, 수 ... 선량은 그 밖의 것을 알고 있습니다. –
@LarsTech 처음으로 시간이 오래 걸리며 예상대로 작동합니다. –