Domande taggate «assembly»

Domande sulla programmazione del linguaggio assembly (asm). ASSICURARSI ANCHE DI TAG con il processore e / o il set di istruzioni in uso, nonché l'assemblatore. ATTENZIONE: per gli assembly .NET, utilizzare invece il tag [.net-assembly]. Per Java ASM, utilizzare invece il tag [java-bytecode-asm].

12
Perché GCC non ottimizza a * a * a * a * a * a a (a * a * a) * (a * a * a)?
Sto facendo qualche ottimizzazione numerica su un'applicazione scientifica. Una cosa che ho notato è che GCC ottimizzerà la chiamata pow(a,2)compilandola a*a, ma la chiamata pow(a,6)non è ottimizzata e chiamerà effettivamente la funzione di libreria pow, che rallenta notevolmente le prestazioni. (Al contrario, il compilatore Intel C ++ , eseguibile icc, …

14
<È più veloce di <=?
È if( a &lt; 901 )più veloce di if( a &lt;= 900 ). Non esattamente come in questo semplice esempio, ma ci sono lievi variazioni delle prestazioni nel codice complesso del loop. Suppongo che questo debba fare qualcosa con il codice macchina generato nel caso sia anche vero.

10
La sostituzione di un contatore di loop a 32 bit con 64 bit introduce deviazioni pazzesche delle prestazioni con _mm_popcnt_u64 su CPU Intel
Stavo cercando il modo più veloce per popcountgrandi matrici di dati. Ho riscontrato un effetto molto strano : la modifica della variabile loop da unsigneda ha uint64_tfatto diminuire le prestazioni del 50% sul mio PC. Il punto di riferimento #include &lt;iostream&gt; #include &lt;chrono&gt; #include &lt;x86intrin.h&gt; int main(int argc, char* argv[]) …




30
Quando l'assemblaggio è più veloce di C?
Uno dei motivi dichiarati per conoscere assemblatore è che, a volte, può essere impiegato per scrivere codice che sarà più performante che scrivere quel codice in un linguaggio di livello superiore, C in particolare. Tuttavia, ho anche sentito molte volte affermare che, sebbene ciò non sia del tutto falso, i …
475 c  performance  assembly 


4
Perché Java attiva gli input contigui sembra funzionare più velocemente con i casi aggiunti?
Sto lavorando su alcuni codici Java che devono essere altamente ottimizzati in quanto verranno eseguiti in funzioni attive che vengono invocate in molti punti della mia logica principale del programma. Parte di questo codice comporta la moltiplicazione di doublevariabili per 10sorti a int exponents arbitrari non negativi . Un modo …

10
Usando GCC per produrre assemblaggi leggibili?
Mi chiedevo come usare GCC sul mio file sorgente C per scaricare una versione mnemonica del codice macchina in modo da poter vedere in cosa veniva compilato il mio codice. Puoi farlo con Java ma non sono stato in grado di trovare un modo con GCC. Sto cercando di riscrivere …
256 c  gcc  assembly 

3
Che cos'è un retpoline e come funziona?
Al fine di mitigare la divulgazione della memoria tra kernel o tra processi (l' attacco Spettro ), il kernel 1 di Linux verrà compilato con una nuova opzione , -mindirect-branch=thunk-externintrodotta gccper eseguire chiamate indirette attraverso un cosiddetto retpoline . Questo sembra essere un termine appena inventato poiché una ricerca su …

10
Che aspetto ha il linguaggio assembly multicore?
Una volta, per scrivere un assemblatore x86, ad esempio, avresti le istruzioni che affermavano "carica il registro EDX con il valore 5", "incrementa il registro EDX", ecc. Con le moderne CPU che hanno 4 core (o anche più), a livello di codice macchina sembra che ci siano 4 CPU separate …
243 assembly  x86  cpu  multicore  smp 

12
'Switch' è più veloce di 'if'?
È una switchdichiarazione in realtà più veloce di un ifcomunicato? Ho eseguito il codice seguente sul compilatore C ++ x64 di Visual Studio 2010 con il /Oxflag: #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;time.h&gt; #define MAX_COUNT (1 &lt;&lt; 29) size_t counter = 0; size_t testSwitch() { clock_t start = clock(); size_t …



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.