Questions marquées «assembly»

Questions de programmation en langage d'assemblage (asm). ASSUREZ-VOUS AUSSI DE TAGER avec le processeur et / ou le jeu d'instructions que vous utilisez, ainsi que l'assembleur. AVERTISSEMENT: pour les assemblys .NET, utilisez plutôt la balise [.net-assembly]. Pour Java ASM, utilisez plutôt la balise [java-bytecode-asm].

1574
Est <plus rapide que <=?

Est if( a < 901 )plus rapide que if( a <= 900 ). Pas exactement comme dans cet exemple simple, mais il y a de légères modifications des performances sur le code complexe de boucle. Je suppose que cela doit faire quelque chose avec le code machine généré au cas où c'est même...

1424
Le remplacement d'un compteur de boucles 32 bits par 64 bits introduit des écarts de performances fous avec _mm_popcnt_u64 sur les processeurs Intel

Je cherchais le moyen le plus rapide d'accéder à de popcountgrands tableaux de données. J'ai rencontré un effet très étrange : changer la variable de boucle de unsignedà a uint64_tfait chuter les performances de 50% sur mon PC. La référence #include <iostream> #include <chrono> #include...

476
Quand l'assemblage est-il plus rapide que C?

L'une des raisons invoquées pour connaître l'assembleur est que, à l'occasion, il peut être utilisé pour écrire du code qui sera plus performant que d'écrire ce code dans un langage de niveau supérieur, C en particulier. Cependant, j'ai également entendu dire à plusieurs reprises que bien que ce ne...

276
Pourquoi Java active-t-il les entrées contiguës semble-t-il s'exécuter plus rapidement avec des cas supplémentaires?

Je travaille sur du code Java qui doit être hautement optimisé car il fonctionnera dans des fonctions chaudes qui sont invoquées à de nombreux points dans ma logique de programme principale. Une partie de ce code implique la multiplication des doublevariables par des 10valeurs élevées à des valeurs...

256
Utiliser GCC pour produire un assemblage lisible?

Je me demandais comment utiliser GCC sur mon fichier source C pour vider une version mnémonique du code machine afin que je puisse voir dans quoi mon code était compilé. Vous pouvez le faire avec Java mais je n'ai pas réussi à trouver un moyen avec GCC. J'essaie de réécrire une méthode C dans...

243
À quoi ressemble le langage d'assemblage multicœur?

Il était une fois, pour écrire un assembleur x86, par exemple, vous auriez des instructions indiquant "charger le registre EDX avec la valeur 5", "incrémenter le registre EDX", etc. Avec les processeurs modernes qui ont 4 cœurs (ou même plus), au niveau du code machine, semble-t-il simplement qu'il...