Questions sur compiler-optimization

10
réponses

Pourquoi elementwise ajouts beaucoup plus rapidement dans les boucles séparées que dans une boucle?

Suppose a1 , b1 , c1 , et d1 pointer à la mémoire de tas et mon code numérique a la boucle de coeur suivante. ... , i); cout << endl; } } (il montre FLOP/s pour différentes valeurs de n .)
demandé sur 2011-12-18 00:40:52
12
réponses

Pourquoi ne pas GCC optimiser un*un*un*un*un*un (a*a*a)*(a*a*a)?

je fais de l'optimisation numérique sur une application scientifique. Une chose que J'ai remarqué , C'est que GCC va o ... un comportement similaire. pourquoi les compilateurs ne reconnaissent-ils pas cette astuce d'optimisation?
demandé sur 2011-06-21 22:49:55
8
réponses

Le remplacement d'un compteur de boucle de 32 bits par un compteur de boucle de 64 bits introduit des déviations de performance folles

je cherchais le moyen le plus rapide de popcount grands tableaux de données. J'ai rencontré un très bizarre effet: ... ois. Donc, même si vous déroulez, vous pouvez toujours obtenir frappé par de grands écarts. Tout à fait intéressant.
demandé sur 2014-08-01 14:33:29
8
réponses

Swift Beta performance: tri des matrices

j'implémentais un algorithme dans la version bêta de Swift et j'ai remarqué que les performances étaient très mauvaise ... 'il n'y ait plus de raison d'utiliser le -Ofast (A. K. A. -Ounchecked ); Uni -O produit un code tout aussi bon.
demandé sur 2014-06-08 03:53:45
2
réponses

Pourquoi utilisons-nous le mot-clé volatile en C++? [dupliquer]

possibilité de dupliquer: C++: quand le mot-clé volatile vous a-t-il aidé? je ... i les gens l'utilisent? Que fait-il exactement? J'ai cherché sur le forum, je n'ai trouvé que des sujets C# ou Java.
demandé sur 2010-12-14 12:14:42
11
réponses

Comment compiler Tensorflow avec SSE4.2 et les instructions AVX?

c'est le message reçu depuis l'exécution d'un script pour vérifier si Tensorflow fonctionne: I tensorflow/strea ... calculs CPU pour les tâches Tensorflow. 3) Comment compiler Tensorflow en utilisant les deux bibliothèques?
demandé sur 2016-12-23 02:21:14
4
réponses

Puis-je suggérer l'optimiseur en donnant la portée d'un entier?

j'utilise un type int pour stocker une valeur. Par la sémantique du programme, la valeur varie toujours dans une très ... ette int est toujours dans ce petit intervalle, et est-il possible pour le compilateur de faire ces optimisations?
demandé sur 2016-11-06 11:00:12
2
réponses

Pourquoi peuvent-elles être mieux optimisé par le compilateur que la plaine fonctions?

dans son livre The C++ Standard Library (Second Edition) Nicolai Josuttis déclare que lambdas peut être mieux optimisé ... un meilleur contexte local avec lambdas et tels peuvent faire plus d'hypothèses et effectuer plus d'optimisations.
demandé sur 2012-12-05 15:38:03
3
réponses

L'utilisation de ce pointeur provoque une étrange désoptimisation en boucle chaude

j'ai récemment rencontré une étrange désoptimisation (ou plutôt l'occasion manquée d'optimisation). considère ... n cache d'un pointeur de membre dans une boucle chaude semble être une technique d'optimisation manuelle nécessaire.
demandé sur 2014-10-10 12:38:56
6
réponses

Pourquoi le compilateur ne peut pas (ou ne peut pas) optimiser une boucle d'addition prévisible dans une multiplication?

C'est une question qui est venue à l'esprit en lisant la réponse brillante de mystique à la question: pourquoi est-i ... u parler des optimisations discutées dans cette autre question avant, donc je suis vraiment reconnaissant pour cela.
demandé sur 2012-06-30 21:48:47
11
réponses

L'efficacité du retour prématuré dans une fonction

C'est une situation que je rencontre fréquemment en tant que programmeur inexpérimenté et je me pose des questions par ... t littéralement pas différence parce que le if/else et le return créent la même branche à la fin de la fonction.
demandé sur 2011-10-25 08:26:44
11
réponses

Pourquoi les compilateurs C ne peuvent-ils pas réarranger les membres struct pour éliminer le capitonnage d'alignement? [dupliquer]

possible Duplicate: pourquoi GCC n'optimise-t-il pas les structures? pourquoi C++ Ne ... nouveau ici, donc je ne sais pas si je dois pondre une nouvelle question. S'il vous plaît dites-moi si c'est le cas.
demandé sur 2012-02-28 21:03:19
5
réponses

Pourquoi est " tandis que (i++

apparemment sur mon ordinateur portable Windows 8 avec HotSpot JDK 1.7.0_45 (avec toutes les options de compilateur/VM ... se qui soit spécifique à Java et directement liée au cas où ++i ou i++ est impliqué dans une comparaison de valeur.
demandé sur 2014-08-15 11:24:23
4
réponses

Pourquoi le memcmp (a, b, 4) n'est-il que parfois optimisé pour une comparaison uint32?

étant donné ce code: #include <string.h> int equal4(const char* a, const char* b) { return memcmp(a, ... st pas fait (par GCC ou Clang)? See it on Godbolt's Compiler'S Explorer: https://godbolt.org/g/jv8fcf
demandé sur 2017-07-12 11:25:12
2
réponses

Pourquoi std:: fill(0) est-il plus lent que std::fill (1)?

j'ai observé sur un système que std::fill sur un grand std::vector<int> était significativement et systémati ... ze, nthreads); } } présente les résultats compilés avec g++ fillbench.cpp -O3 -o fillbench_gcc -fopenmp .
demandé sur 2017-03-02 18:04:55
6
réponses

Comment désactiver l'optimisation du compilateur gcc pour activer le débordement de tampon

je travaille sur un problème de devoirs qui nécessite une protection d'optimisation de compilateur désactivante pour ... e que c'est dépendant de l'architecture - ma machine fonctionne avec un processeur Intel w/ 32 bits. Merci.
demandé sur 2010-02-26 11:14:10
3
réponses

Le compilateur peut-il optimiser l'allocation de tas en tas?

en ce qui concerne les optimisations des compilateurs, est-il légal et/ou possible de changer une allocation de tas en ... it sur des choses comme des allocateurs personnalisés. La norme mentionne-t-elle quelque chose de précis à ce sujet?
demandé sur 2017-11-02 15:54:05
5
réponses

Comment désactiver les optimisations des compilateurs dans gcc?

j'essaie d'apprendre le langage de l'Assemblée. J'ai cherché et trouvé comment démonter un fichier .c mais je pense ... e du programme. Y a-t-il un moyen pour que je puisse voir le code d'assemblage exact qui correspond à mon fichier C.
demandé sur 2011-04-23 21:58:44
1
réponses

JIT n'optimise pas la boucle qui implique un nombre entier.LA VALEUR MAX.

en écrivant une réponse à une autre question , j'ai remarqué un cas de bordure étrange pour l'optimisation JIT. ... raison pour le manque d'optimisation est (évidemment) en fait causé par les Integer.MAX_VALUE boucle limite)
demandé sur 2014-08-15 16:26:56
6
réponses

Est-il possible d'implémenter des opérateurs bitwise en utilisant l'arithmétique entière?

je suis confronté à un problème assez particulier. Je travaille sur un compilateur pour une architecture qui ne suppor ... // at the cost of doubling the instruction memory footprint. case 2: b = 4; break; case 1: b = 2; break; }
demandé sur 2010-06-06 05:03:41
4
réponses

Le compilateur C # traite-t-il une expression lambda comme une méthode publique ou privée?

à l'interne, le compilateur devrait traduire les expressions lambda en méthodes. Dans ce cas, ces méthodes seraient-elles privées ou publiques (ou autre) et est-il possible de changer cela?
demandé sur 2016-03-07 12:14:19
8
réponses

Pourquoi un compilateur n'optimise-t-il pas floating-point *2 dans un incrément exposant?

j'ai souvent remarqué que gcc convertissait les multiplications en décalages dans l'exécutable. Quelque chose de simil ... gents pour le faire, ou dois-je le faire moi-même en utilisant la famille de fonctions scalb*() ou ldexp()/frexp() ?
demandé sur 2012-10-16 20:23:05
6
réponses

Pourquoi GCC n'optimise-t-il pas la suppression des pointeurs null en C++?

Envisager un programme simple: int main() { int* ptr = nullptr; delete ptr; } avec GCC (7.2), il y ... premiers cas est significative et I Je ne dirais pas qu'il s'agit d'un "cas de coin extrêmement rare" comme le code.
demandé sur 2017-08-15 12:01:51
2
réponses

Résultat inattendu lorsque C++ stocke l'élément dans std:: vecteur de la valeur de retour de la fonction

Lorsque la fonction implique de réaffectation, j'ai trouvé certains compilateurs peuvent enregistrer l'adresse avant l'app ... n de compilateurs GNU): erreur D'exécution ou sortie 1 Clang: sortie 5 VC++: output 5 Est-ce un comportement non défini?
demandé sur 2018-03-02 18:23:57
8
réponses

G++ optimisation au-delà de-O3 / - Ofast

Le Problème nous avons un programme de taille moyenne pour une tâche de simulation, que nous devons optimiser. Nous avons ... ns spécifiques au CPU. -flto pour permettre l'optimisation du temps de liaison, à travers différentes unités de compilation.
demandé sur 2013-01-24 05:27:41
4
réponses

Ne redondant jette obtenir optimisé?

je suis en train de mettre à jour un vieux code, et j'ai trouvé plusieurs cas où le même objet est lancé à plusieurs repr ... toute façon. J'ai décidé de les réparer un jour, si j'ai le temps. En Attendant, Je ne pas l'inquiéter. Merci à tous!
demandé sur 2011-03-12 00:39:28
5
réponses

Quel type d'optimisation le const offre-t-il en C/C++? (le cas échéant)

je sais que dans la mesure du possible, vous devriez utiliser le mot-clé const lorsque vous passez des paramètres par réf ... tions de fonction: const char* foo() quel type d'optimisations de compilateurs chacune offre-t-elle (le cas échéant)?
demandé sur 2014-12-14 08:27:34
4
réponses

C / C++ offre-t-il une garantie sur un temps d'exécution minimal?

pourquoi les compilateurs semblent-ils Polis envers les boucles qui ne font rien et ne les éliminent pas? la norme C ... r la même vitesse sur les deux codes. "le temps passé" un effet secondaire qui doit être préservé par un compilateur?
demandé sur 2016-04-23 20:37:46
1
réponses

Itérateur inverse renvoie la poubelle lorsque optimisé

j'ai un AsIterator classe template qui prend un type numérique, dans cet exemple juste un int, et le convertit en itérateu ... ortement ici, je suis assez sûr qu'ils sont en train de faire et j'ai mal compris, mais je ne peux vraiment pas le voir.
demandé sur 2017-01-27 19:21:48
12
réponses

Utiliser le langage D'assemblage en C / C++

je me souviens avoir lu quelque part que pour vraiment optimiser et accélérer certaines sections du code, les programm ... lentement que la plupart des humains, car souvent le compilateur optimise le code mieux que la plupart des humains.
demandé sur 2010-11-17 11:33:59