Preguntas etiquetadas con performance

Para preguntas relacionadas con la medición o mejora del código y la eficiencia de la aplicación.

2
¿Por qué es más rápido verificar si el diccionario contiene la clave, en lugar de detectar la excepción en caso de que no lo contenga?
Imagina el código: public class obj { // elided } public static Dictionary<string, obj> dict = new Dictionary<string, obj>(); Método 1 public static obj FromDict1(string name) { if (dict.ContainsKey(name)) { return dict[name]; } return null; } Método 2 public static obj FromDict2(string name) { try { return dict[name]; } catch …

2
¿Por qué el procesamiento de una matriz ordenada es más lento que una matriz no ordenada?
Tengo una lista de 500000 Tuple<long,long,string>objetos generados aleatoriamente en los que estoy realizando una simple búsqueda "entre": var data = new List<Tuple<long,long,string>>(500000); ... var cnt = data.Count(t => t.Item1 <= x && t.Item2 >= x); Cuando genero mi matriz aleatoria y ejecuto mi búsqueda de 100 valores generados aleatoriamente x, …

12
¿El uso de 'var' afectará el rendimiento?
Anteriormente, hice una pregunta sobre por qué veo tantos ejemplos que usan la varpalabra clave y obtuve la respuesta de que, aunque solo es necesario para los tipos anónimos, se usa para hacer que la escritura de código sea 'más rápida' / más fácil y 'solo porque'. Siguiendo este enlace …
230 c#  performance  variables  var 



30
¿Recursión o iteración?
¿Hay un impacto en el rendimiento si usamos un bucle en lugar de recurrencia o viceversa en algoritmos donde ambos pueden servir para el mismo propósito? Por ejemplo: Compruebe si la cadena dada es un palíndromo. He visto a muchos programadores usar la recursividad como un medio para mostrar cuándo …


4
¿Por qué la introducción de instrucciones MOV inútiles aceleraría un ciclo cerrado en el ensamblaje x86_64?
Antecedentes: Al optimizar un código Pascal con lenguaje ensamblador incorporado, noté una MOVinstrucción innecesaria y la eliminé. Para mi sorpresa, eliminar las instrucciones innecesarias hizo que mi programa se ralentizara . Descubrí que agregar MOVinstrucciones arbitrarias e inútiles aumentaba aún más el rendimiento . El efecto es errático y los …


3
¿Por qué la transposición de una matriz de 512x512 es mucho más lenta que la transposición de una matriz de 513x513?
Después de realizar algunos experimentos en matrices cuadradas de diferentes tamaños, surgió un patrón. Invariablemente, la transposición de una matriz de tamaño 2^nes más lenta que la transposición de una de tamaño2^n+1 . Para valores pequeños de n, la diferencia no es mayor. Sin embargo, se producen grandes diferencias sobre …

12
¿Cómo se compila Go tan rápido?
Busqué en Google y busqué en el sitio web de Go, pero parece que no puedo encontrar una explicación para los extraordinarios tiempos de construcción de Go. ¿Son productos de las características del lenguaje (o la falta de ellas), un compilador altamente optimizado u otra cosa? No estoy tratando de …


24
String vs. StringBuilder
Entiendo la diferencia entre Stringy StringBuilder( StringBuilderser mutable) pero ¿hay una gran diferencia de rendimiento entre los dos? El programa en el que estoy trabajando tiene muchos anexos de cadena de mayúsculas y minúsculas (más de 500). ¿Está usando StringBuilderuna mejor opción?
215 c#  .net  performance 

13
¿Debo usar String.format () de Java si el rendimiento es importante?
Tenemos que construir cadenas todo el tiempo para la salida del registro, etc. Sobre las versiones JDK hemos aprendido cuándo usar StringBuffer(muchos apéndices, seguros para subprocesos) y StringBuilder(muchos apéndices, no seguros para subprocesos). ¿Cuál es el consejo sobre el uso String.format()? ¿Es eficiente o nos vemos obligados a mantener la …

19
Contando DISTINCT sobre múltiples columnas
¿Hay una mejor manera de hacer una consulta como esta: SELECT COUNT(*) FROM (SELECT DISTINCT DocumentId, DocumentSessionId FROM DocumentOutputItems) AS internalQuery Necesito contar el número de elementos distintos de esta tabla, pero el elemento distintivo está sobre dos columnas. Mi consulta funciona bien, pero me preguntaba si puedo obtener el …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.