2012-12-13 4 views
2

MVVM Xaml 응용 프로그램을 가지고 있으며 가능한 모든 시작에서 마지막 밀리 초를 압박하려고합니다. 내가 알아챈 한 가지는 코드에서 App.Config에서 가져온 문자열로의 변환입니다. 단 5 개의 값이 있으므로 많지는 않습니다. 나는 이것을 switch 문에 넣을 수 있고 더 빠를 것이라고 생각했다. (놀랍게도 같은 시간이었다.) 이 값은 80 번 정도의 여러 번 호출되며 5 값 중 하나가 될 수도 있고 5 값이 될 수도 있습니다. 이전에는 문자열 만있었습니다 .IsNullOrEmpty는 값을 찾았는지 확인하기 위해 ConfigurationManager.AppSettings의 값을 확인합니다. 내 스위치에서는 기본 반환 값 ""을 넣었습니다. 이 값은 거의 변경되지 않지만 잠재적으로 더 많이 가질 수 있습니다.Switch 문 대 App.Config

그럼 내 질문에 스위치 나 App.Config를 사용하면 항목 수가 변경 될 때 성능상의 이점이 있습니까? App.Config에 무엇인가 넣는 유일한 이유는 사용자가 응용 프로그램을 다시 빌드하지 않고 무언가를 수정해야하는 경우입니다. 현재 테스트 결과에 따르면 App.Config에 유지할 시간이 같았지만 모든 사람들의 생각을 듣고 싶습니다.

감사합니다, TJ

+0

어쩌면 나는 App.config의 의미론에 익숙하지 않을 수도 있지만 "코드에서 App.Config에서 가져온 문자열로 변환"이라는 의미를 이해하지 못합니다. 성능 관점에서, 그것은 모두 주어진 작업을 수행하는 데 필요한 기계 계산의 수에 따라 달라집니다. 두 경우 모두 어떤 일이 일어나고 있는지 파악할 수 없으므로 질문에 쉽게 답변 할 수 없습니다. – theMayer

+0

내가 언급 한 변환은 4 자리의 영숫자 코드로 이루어진 문자열입니다. 사용자는 이것을 나타내는 친숙한 이름을보고 싶어합니다. – JabberwockyDecompiler

답변

1

앱의 설정에서 귀하의 매개 변수가 읽어 처음 이후에 캐시됩니다. 초기 읽기에는 디스크 액세스가 필요하기 때문에 약간의 오버 헤드가 필요할 것입니다.

스위치도이 경우 더 빠르며, 나노초로 말합니다. 설정 값을 실제로 처음 읽으면 캐시에서 읽는 성능이 비슷하다고 생각합니다.

사용자가 변경하도록 허용 한 이유가있어 app.config에 남겨 두었습니다.

+1

이것은 내가 찾고있는 대답과 같습니다. 대답으로 표시하기 전에 적어도 반나절 동안이 질문을 공개하고 싶습니다. 당신의 의견에 감사드립니다. – JabberwockyDecompiler