Questions marquées «performance»

Pour les questions relatives à la mesure ou à l'amélioration du code et à l'efficacité des applications.

2
Pourquoi est-il plus rapide de vérifier si le dictionnaire contient la clé, plutôt que d'attraper l'exception au cas où elle ne le ferait pas?
Imaginez le code: public class obj { // elided } public static Dictionary<string, obj> dict = new Dictionary<string, obj>(); Méthode 1 public static obj FromDict1(string name) { if (dict.ContainsKey(name)) { return dict[name]; } return null; } Méthode 2 public static obj FromDict2(string name) { try { return dict[name]; } catch …

2
Pourquoi le traitement d'un tableau trié est-il plus lent qu'un tableau non trié?
J'ai une liste de 500000 Tuple<long,long,string>objets générés aléatoirement sur lesquels j'effectue une simple recherche "entre": var data = new List<Tuple<long,long,string>>(500000); ... var cnt = data.Count(t => t.Item1 <= x && t.Item2 >= x); Lorsque je génère mon tableau aléatoire et lance ma recherche de 100 valeurs générées de manière aléatoire …



2
Pourquoi y a-t-il un impact important sur les performances lors du bouclage sur un tableau avec 240 éléments ou plus?
Lors de l'exécution d'une boucle de somme sur un tableau dans Rust, j'ai remarqué une énorme baisse de performances lorsque CAPACITY> = 240.CAPACITY = 239 est environ 80 fois plus rapide. Existe-t-il une optimisation de compilation spéciale que Rust fait pour les tableaux "courts"? Compilé avec rustc -C opt-level=3. use …

30
Récursivité ou itération?
Y a-t-il un impact sur les performances si nous utilisons une boucle au lieu de la récursivité ou vice versa dans les algorithmes où les deux peuvent servir le même objectif? Par exemple: Vérifiez si la chaîne donnée est un palindrome. J'ai vu de nombreux programmeurs utiliser la récursivité comme …


4
Pourquoi l'introduction d'instructions MOV inutiles accélérerait-elle une boucle serrée dans un assemblage x86_64?
Contexte: En optimisant du code Pascal avec un langage d'assemblage intégré, j'ai remarqué une MOVinstruction inutile et je l'ai supprimée. À ma grande surprise, la suppression des instructions inutiles a entraîné un ralentissement de mon programme . J'ai trouvé que l' ajout d' MOVinstructions arbitraires et inutiles augmentait encore les …


3
Pourquoi la transposition d'une matrice de 512x512 est-elle beaucoup plus lente que la transposition d'une matrice de 513x513?
Après avoir mené quelques expériences sur des matrices carrées de différentes tailles, un modèle est apparu. Invariablement, la transposition d'une matrice de taille 2^nest plus lente que la transposition d'une matrice de taille2^n+1 . Pour les petites valeurs de n, la différence n'est pas majeure. De grandes différences se produisent …


13
Dois-je utiliser String.format () de Java si les performances sont importantes?
Nous devons constamment créer des chaînes pour la sortie du journal, etc. Au fil des versions de JDK, nous avons appris quand utiliser StringBuffer(plusieurs ajouts, thread-safe) et StringBuilder(plusieurs ajouts, non-thread-safe). Quels sont les conseils d'utilisation String.format()? Est-il efficace, ou sommes-nous obligés de nous en tenir à la concaténation pour les …


24
String vs StringBuilder
Je comprends la différence entre Stringet StringBuilder( StringBuilderétant mutable) mais y a-t-il une grande différence de performances entre les deux? Le programme sur lequel je travaille a beaucoup d'annexes de chaînes pilotées par la casse (500+). Utilise-t-il StringBuilderun meilleur choix?
215 c#  .net  performance 

19
Compter DISTINCT sur plusieurs colonnes
Existe-t-il une meilleure façon de faire une requête comme celle-ci: SELECT COUNT(*) FROM (SELECT DISTINCT DocumentId, DocumentSessionId FROM DocumentOutputItems) AS internalQuery J'ai besoin de compter le nombre d'éléments distincts de ce tableau mais le distinct est sur deux colonnes. Ma requête fonctionne bien mais je me demandais si je pouvais …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.