Articles of optimisation

Le CLR .NET est-il vraiment optimisé pour le processeur actuel?

Lorsque je lis des articles sur les performances de langages JITted tels que C # ou Java, les auteurs disent généralement qu’ils devraient / pourraient théoriquement surpasser de nombreuses applications compilées en natif. La théorie étant que les applications natives ne sont généralement compilées que pour une famille de processeurs (comme x86), le compilateur ne […]

Que puis-je faire dans le code Java pour optimiser la mise en cache du processeur?

Lors de l’écriture d’un programme Java, ai-je une influence sur la manière dont le processeur utilisera son cache pour stocker mes données? Par exemple, si j’ai access à un tableau, cela aide-t-il s’il est suffisamment petit pour tenir dans une seule ligne de cache (généralement 128 octets sur un ordinateur 64 bits)? Que se passe-t-il […]

Le calcul de Sqrt (x) en tant que x * InvSqrt (x) a-t-il un sens dans le code Doom 3 BFG?

J’ai parcouru le code source récemment publié de Doom 3 BFG , lorsque je suis tombé sur quelque chose qui ne semblait pas avoir de sens. Doom 3 enveloppe les fonctions mathématiques dans la classe idMath . Certaines des fonctions vont juste aux fonctions correspondantes de math.h , mais certaines sont des réimplémentations (par exemple, […]

Expressions “j = ++ (i | i); et j = ++ (i & i); devrait être une erreur lvalue?

Je m’attendais à cela dans mon code suivant: #include int main(){ int i = 10; int j = 10; j = ++(i | i); printf(“%d %d\n”, j, i); j = ++(i & i); printf(“%d %d\n”, j, i); return 1; } expressions j = ++(i | i); et j = ++(i & i); produira des erreurs […]

Ressources utiles du système Android

Android est livré avec beaucoup de ressources système ( android.R ) qui peuvent être utilisées pour vous faire gagner du temps et alléger votre application. Par exemple, j’ai récemment découvert qu’Android fournit des chaînes localisées pour Yes ( android.R.ssortingng.yes ), No ( android.R.ssortingng.no ), Cancel ( android.R.ssortingng.cancel ) et Ok ( android.R.ssortingng.ok ), entre autres […]

Pourquoi ne pas marquer tout en ligne?

Tout d’abord, je ne cherche pas à forcer le compilateur à intégrer l’implémentation de chaque fonction. Pour réduire le niveau de réponses erronées, assurez-vous de comprendre ce que signifie réellement le mot-clé inline . Voici une bonne description, inline vs static vs extern . Donc, ma question, pourquoi ne pas marquer chaque définition de fonction […]

Désactiver l’optimisation de la valeur de retour de g ++

De quel (s) drapeau (s) dois-je disposer sur la ligne de commande pour désactiver l’optimisation de la valeur de retour automatiquement activée par le compilateur g ++?

Entiers en cache en Java

Duplication possible: Étrange Java boxe Récemment, j’ai vu une présentation où se trouvait l’exemple suivant de code Java: Integer a = 1000, b = 1000; System.out.println(a == b); // false Integer c = 100, d = 100; System.out.println(c == d); // true Maintenant je suis un peu confus. Je comprends pourquoi, dans le premier cas, […]

E / S de fichier avec stream – meilleure taille de la mémoire tampon

J’écris une petite bibliothèque I / O pour aider avec un projet plus grand (passe-temps). Une partie de cette bibliothèque exécute diverses fonctions sur un fichier, qui est lu / écrit via l’object FileStream . Sur chaque StreamReader.Read(…) passe, Je déclenche un événement qui sera utilisé dans l’application principale pour afficher les informations de progression. […]

Avez-vous déjà utilisé ngen.exe?

Quelqu’un at-il déjà utilisé ngen? Où? Pourquoi? Y a-t-il eu une amélioration de la performance? quand et où est-il judicieux de l’utiliser?