¿Existe una degradación del rendimiento cuando SIEMPRE utilizamos tipos de valores que aceptan valores numéricos en lugar de tipos de valores?¿Hay una degradación del rendimiento cuando SIEMPRE utilizamos tipos de valores que aceptan valores numéricos en lugar de tipos de valores?
Respuesta
Como Mitch Wheat señaló anteriormente, no, no debería preocuparse por esto. Voy a darle la razón corta respuesta ahora, y más tarde voy a ayudarle a descubrir más sobre lo que está pidiendo:
escribir el código que es correcta. Perfil después de escribir para que encuentre los puntos que le están causando dolor.
Al tener código que utiliza constantemente anulable y tiene razones de rendimiento y el perfil it y no se puede encontrar el problema por su cuenta, a continuación, venga a preguntar cómo hacer que sea más rápido. Pero no, la sobrecarga de usar Nullable es, a todos los efectos, no degradante.
descubrir más acerca de lo que está pidiendo:
- Performance surprise with "as" and nullable types
- Why shouldn't I always use nullable types in C#
- C# Performance gain returning a Nullable Type from a SqlDataReader
- Alternatives to nullable types in C#
- Casting (int?)null vs. new int?() - Which is better?
- Boxing/Unboxing Nullable Types - Why this implementation?
Ahora, habiendo leído todas esas páginas, espero que se sienta más iluminado.
@YiJiang Oh, usted y su lista OL elegante: p (buena llamada) – jcolebrand
Esa es una lista desordenada 'ul' -' ol' listas ordenadas son erhn ... ordenadas (numeradas) yah saber? ;) –
oh, facepalm, comencé a escribir UL la primera vez: p – jcolebrand
Es el precio de copiar todo el tipo de valor: prácticamente nulo para cosas como enteros, GUID, etc., pero es grande si está copiando constantemente tipos de valores de 512 KB (que no debería tener en el primer lugar) dentro de un circuito cerrado.
- 1. ¿Por qué no debo usar siempre tipos que aceptan valores de nulo en C#
- 2. tipos de valores inmutables
- 3. Valores Unboxing Tipos de objetos
- 4. Comparación de tipos de valores en caja
- 5. ¿Hay interfaces compartidas por tipos de valores que representan números?
- 6. Operaciones en tipos de valores arbitrarios
- 7. ¿Qué sucede cuando se crean tipos de valores?
- 8. Crear tipos que no admiten valores en C#
- 9. Los booleanos tienen dos valores posibles. ¿Hay tipos que tienen tres valores posibles?
- 10. Ordenar con valores numéricos
- 11. tipos posibles de $ _POST y $ _GET valores
- 12. valores de Asignación de tipos enumerados
- 13. Configurar punto en lugar de coma en valores numéricos
- 14. ¿Cómo comparar tipos que aceptan nulos?
- 15. modo scala para definir funciones que aceptan una lista de diferentes tipos numéricos
- 16. Reutilizando valores de enum en tipos de enumeración separados
- 17. Niveles Log4Net Valores numéricos
- 18. Pasar tipos de valores inmutables por referencia de forma predeterminada
- 19. Mapas con múltiples tipos de valores en java
- 20. ¿Por qué hay un constructor de valores además del constructor de tipos en Haskell?
- 21. Valores no inicializados frente a valores nulos de los tipos de referencia
- 22. ¿Puede un método genérico manejar los tipos de valores de referencia y valores anulables?
- 23. enumeración JAXB con valores numéricos
- 24. Comparaciones directas de los tipos de valores de C#
- 25. ¿Cuál es la "clase base" para los tipos de valores numéricos C#?
- 26. ¿Cuáles son las diferencias entre los tipos de valores y los tipos de referencia en C#?
- 27. Sumando valores de los tipos de matriz Hive
- 28. Asignación de una lista de valores numéricos a los colores
- 29. Patrón Regex para valores numéricos
- 30. ¿Tipos de valores en objetos almacenados en el montón también?
'" Siempre "' es una gran palabra. –
Desbordamiento : no es algo que deba preocuparse. –
para señalar, estoy dispuesto a apostar que @MitchWheat sabe mucho más sobre esto que tú, así que voy a ir con él. @MitchWheat ~ Debería haber hecho una respuesta: p ... – jcolebrand