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
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
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
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
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
9
réponses

Est-ce que mon compilateur ignorera le code inutile?

j'ai été à travers quelques questions sur le réseau à ce sujet, mais je n'ai pas trouvé de réponse à ma question, ou c ... me demandais si le code inutile devrait être une cible ou si je pouvais laisser le compilateur prendre soin de cela.
demandé sur 2015-06-24 15:49:41
3
réponses

Pourquoi g++ tire-t-il les calculs dans une boucle chaude?

j'ai un comportement de compilateur très étrange où G++ tire les calculs dans une boucle chaude, réduisant gravement l ... pourrait l'être. Cela signifie aussi qu'il ya probablement un grand nombre de programmes concernés par cette.
demandé sur 2018-05-28 20:03:12
9
réponses

Pourquoi ne pas toujours utiliser l'optimisation des compilateurs?

L'une des questions que j'ai posées il y a quelque temps avait un comportement non défini, donc l'optimisation d ... ptimisation du compilateur? aussi, y a-t-il une raison d'utiliser, disons, -O au lieu de -O2 ou -O3 ?
demandé sur 2011-10-22 09:23:00
2
réponses

Y a-t-il une raison pour ne pas utiliser l'optimisation du temps de liaison?

GCC, MSVC, LLVM et probablement d'autres chaînes d'outils ont le soutien pour le temps de liaison (le programme entier ... n. y a-t-il une raison pour ne pas activer cette option lors de la compilation d'un logiciel de production?
demandé sur 2014-05-19 15:24:25
6
réponses

strcpy ()/strncpy () s'écrase sur un membre de la structure avec un espace supplémentaire lorsque L'optimisation est activée sur Unix?

en écrivant un projet, j'ai rencontré un problème étrange. C'est le code minimal que j'ai réussi à écrire pou ... plaignez pas non plus de gets() . Je ne l'utilise pas dans mon projet, mais le code d'exemple ci-dessus seulement.
demandé sur 2017-11-10 13:04:51
2
réponses

Performance de redimensionnement std:: vecteur>

la conception générale semble être que std::unique_ptr a pas de temps au-dessus par rapport à la propriété de pointeu ... Note: supposons que T est polymorphe et coûteux à déplacer, donc std::vector<T> n'est pas une option.
demandé sur 2017-07-13 22:01:17