나는 boxing/unboxing이 성능에 영향을 준다는 것을 안다. MSDN에 따르면 unboxing can take four times as long as an assignment. 코드에는 "중복"캐스트가있는 여러 줄이 있습니다. 그것들은 실제로 필요하지 않으며 코드는 그것들 없이는 잘 컴파일됩니다. 아마도 컴파일러는 언 박싱을 할 필요가 없다고 생각하기 때문에 아마도 성능을 해치지 않을 것입니다! 어쩌면 우리가 그것들을 명시 적으로 던지면 컴파일러는 불필요한 unboxing을 할 것입니다. "중복 캐스팅"의 유형이 또한 언 박싱 또는 nop과 같은 성능에 영향을 주는지 궁금합니다.중복 캐스트가 성능에 영향을 줍니까?
2
A
답변
6
(int)0
또는 (object)null
과 같은 중복 된 캐스트는 컴파일러가 생략합니다. 생성 된 IL은 캐스트 표현식 사용 여부와 관계없이 정확히 동일하기 때문에 성능상의 불이익은 없습니다. 어쨌든 복싱 변환이 수행 될 명시적인 캐스트에 대해서도 마찬가지입니다.
object value = 0;
object value = (object)0; // exactly the same
관련 문제
- 1. IHTTPModule 성능에 영향을 줍니까?
- 2. NUnit이 성능에 영향을 줍니까?
- 3. Sysout은 tomcat 성능에 영향을 줍니까?
- 4. 액세스 한정자는 성능에 영향을 줍니까?
- 5. 데이터베이스보기가 쿼리 성능에 영향을 줍니까?
- 6. 난독 화가 성능에 영향을 줍니까?
- 7. 중첩 구조체가 성능에 영향을 줍니까?
- 8. 404 오류가 성능에 영향을 줍니까?
- 9. Linux에서 ACL이 성능에 영향을 줍니까
- 10. 조건부 포함 파일이 ASP 성능에 영향을 줍니까?
- 11. 이 javascript 문은 성능에 영향을 줍니까?
- 12. URI에 공백 문자가 있으면 성능에 영향을 줍니까?
- 13. Eclipse에서 원격 자원 캐싱이 성능에 영향을 줍니까?
- 14. 예외가 응용 프로그램의 성능에 영향을 줍니까?
- 15. web.config의 사용하지 않는 행은 성능에 영향을 줍니까?
- 16. GraphicsPath.Flatten()은 그리기 성능에 어떤 영향을 줍니까?
- 17. 데이터베이스의 열 순서가 성능에 영향을 줍니까?
- 18. 데이터 유형 선택이 성능에 영향을 줍니까?
- 19. auto_increment 값 변경이 MySQL의 성능에 영향을 줍니까?
- 20. 여러 xmlns 속성이 페이지 성능에 영향을 줍니까?
- 21. 로깅 문이 응용 프로그램 성능에 영향을 줍니까?
- 22. 긴 형식 이름이 성능에 영향을 줍니까?
- 23. GAC에서 사용되지 않는 어셈블리가 성능에 영향을 줍니까?
- 24. WHERE 절의 필드 순서가 성능에 영향을 줍니까?
- 25. Smarty {strip} 사용은 성능에 어떤 영향을 줍니까?
- 26. NUMA 아키텍처는 ActivePivot의 성능에 어떤 영향을 줍니까?
- 27. 디렉토리의 파일 수가 성능에 어떤 영향을 줍니까?
- 28. 보이지 않는 UIButton이 렌더링 성능에 영향을 줍니까?
- 29. Java에서 코드 블록을 사용하여 성능에 영향을 줍니까?
- 30. 시작 블록이 조건문의 성능에 영향을 줍니까?
당신이 말하는 것에 대해 몇 가지 샘플을 게시 할 수 있습니까? –
자세한 내용은 http://stackoverflow.com/questions/5278674/do-redundant-casts-get-optimized를 참조하십시오. –