Articles of ottimizzazione delle

Cercando di capire l’opzione gcc -fomit-frame-pointer

Ho chiesto a Google di darmi il significato dell’opzione gcc -fomit-frame-pointer , che mi reindirizza alla seguente istruzione. -fomit-frame-pointer Non mantenere il puntatore del frame in un registro per funzioni che non ne hanno bisogno. Ciò evita le istruzioni per salvare, impostare e ripristinare i puntatori ai frame; rende inoltre disponibile un registro aggiuntivo in […]

Calcola in modo efficiente l’intersezione di due insiemi in Java?

Qual è il modo più efficace per trovare la dimensione dell’intersezione di due insiemi non sparsi in Java? Questa è un’operazione che chiamerò su grandi serie un numero molto grande di volte, quindi l’ottimizzazione è importante. Non riesco a modificare i set originali. Ho guardato Apache Commons CollectionUtils.intersection che sembra essere piuttosto lento. Il mio […]

Ottimizzazione delle prestazioni Java HashMap / alternativa

Voglio creare una HashMap di grandi dimensioni ma le prestazioni put() non sono abbastanza buone. Qualche idea? Altri suggerimenti sulla struttura dei dati sono benvenuti, ma ho bisogno della funzione di ricerca di una mappa Java: map.get(key) Nel mio caso voglio creare una mappa con 26 milioni di voci. Usando lo standard Java HashMap, la […]

Efficiente moltiplicazione del vettore a matrice 4×4 con SSE: prodotto orizzontale add e dot: qual è il punto?

Sto cercando di trovare l’implementazione più efficiente della moltiplicazione di matrice 4×4 (M) con un vettore (u) usando SSE. Intendo Mu = v. Per quanto ho capito, ci sono due modi principali per farlo: method 1) v1 = dot(row1, u), v2 = dot(row2, u), v3 = dot(row3, u), v4 = dot(row4, u) method 2) v […]

Come sono programmati gli x86, esattamente?

Le moderne CPU x86 suddividono il stream di istruzioni in entrata in micro-operazioni (uops 1 ) e schedano questi uops out-of-order man mano che i loro input diventano pronti. Sebbene l’idea di base sia chiara, mi piacerebbe conoscere i dettagli specifici di come sono programmate le istruzioni pronte, poiché influisce sulle decisioni di micro-ottimizzazione. Ad […]

Qual è il vero sovraccarico di try / catch in C #?

Quindi, so che try / catch aggiunge un sovraccarico e quindi non è un buon modo per controllare il stream del processo, ma da dove viene questo sovraccarico e qual è il suo impatto reale?

L’uso di funzioni anonime influisce sulle prestazioni?

Mi stavo chiedendo, c’è una differenza di prestazioni tra l’utilizzo di funzioni con nome e funzioni anonime in Javascript? for (var i = 0; i < 1000; ++i) { myObjects[i].onMyEvent = function() { // do something }; } vs function myEventHandler() { // do something } for (var i = 0; i < 1000; ++i) […]

C # ottimizza la concatenazione di stringhe letterali?

Ad esempio, il compilatore sa come tradurre string s = “test ” + “this ” + “function”; a string s = “test this function”; e quindi evitare il colpo di prestazioni con la concatenazione di stringhe?

Cos’è il microbenchmarking?

Ho sentito usare questo termine, ma non sono del tutto sicuro di cosa significhi, quindi: Cosa significa e cosa NON significa? Quali sono alcuni esempi di ciò che IS e IS NOT microbenchmarking? Quali sono i pericoli del microbenchmarking e come lo eviti? (O è una buona cosa?)

Come scrivere al meglio un motore Voxel in C con le prestazioni in mente

Sono un’armatura in OpenGl e per questo motivo sto cercando di imparare solo le moderne OpenGl 4.x. Una volta completate le esercitazioni di base (ad esempio, i cubi rotanti) ho deciso di provare a creare un programma basato su voxel che si occupasse esclusivamente di cubi. Gli obiettivi di questo programma dovevano essere veloci, utilizzare […]