Articles of ottimizzazione delle

C ++ può i compilatori in linea un puntatore a funzione?

Supponiamo che abbia una funzione functionProxy che accetta una function parametro generico e chiama il suo operator() : template void functionProxy( Function function ) { function(); } L’object passato ad esso può essere: un funtore: struct Functor { void operator()() const { std::cout << "functor!" << std::endl; } }; una funzione: void function( ) { […]

Funzione inline v. Macro in C – Qual è l’overhead (memoria / velocità)?

Ho cercato Stack Overflow per i pro / contro di macro simili a funzioni v. Funzioni inline. Ho trovato la seguente discussione: Pro e contro di diverse macro funzioni / metodi in linea in C … ma non ha risposto alla mia domanda di masterizzazione primaria. Vale a dire, qual è il sovraccarico in c […]

Suggerimenti, trucchi e procedure di ottimizzazione delle stringhe HTML5 Canvas

CONOSCI ALCUNE PIÙ MIGLIORI PRATICHE PER TELA ?? Aggiungi a questo thread ciò che sai, hai imparato o leggi online tutte le migliori pratiche Canvas, suggerimenti / trucchi per le prestazioni Visto che Canvas è ancora molto nuovo su Internet e che non vedo segni di invecchiare in futuro, non ci sono troppe “buone pratiche” […]

Procedure di codifica che consentono al compilatore / ottimizzatore di realizzare un programma più veloce

Molti anni fa, i compilatori C non erano particolarmente intelligenti. Come soluzione alternativa, K & R ha inventato la parola chiave register , per suggerire al compilatore, che forse sarebbe una buona idea mantenere questa variabile in un registro interno. Hanno anche fatto l’operatore terziario per aiutare a generare un codice migliore. Con il passare […]

Considerazioni di perfomance di collezioni Groovy riguardo spazio / tempo

Qual è la performance dei metodi di raccolta di Groovys (per quanto riguarda lo spazio (!) E il tempo) rispetto ai semplici cicli for di Java? Ad esempio per questi casi d’uso: sum () vs. for-loop con variabile each () vs. for-loop con variabile inject () vs. for-loop con variabile collect () vs. for-loop con […]

Perché memcmp è molto più veloce di un controllo ciclo for?

Perché memcmp(a, b, size) molto più veloce di: for(i = 0; i < nelements; i++) { if a[i] != b[i] return 0; } return 1; Memcmp è un’istruzione della CPU o qualcosa del genere? Deve essere piuttosto profondo perché ho ottenuto una massiccia accelerazione usando memcmp sul loop.

Che è più veloce: raccolta chiara o nuova istanza

Ho un certo numero di liste generiche nel mio codice, che hanno decine o centinaia di elementi. A volte ho bisogno di riempire queste liste con altri oggetti, quindi la domanda è: cosa sarà più veloce, chiamare il metodo Clear() o creare una new List() ?

Perché sta ripetendo un array all’indietro più velocemente che in avanti

Dato questo codice: var arr = []; for (var i = 0; i < 10000; ++i) arr.push(1); Attaccanti for (var i = 0; i < arr.length; ++i) {} Indietro for (var i = arr.length – 1; i >= 0; –i) {} Forward hard-coded for (var i = 0; i < 10000; ++i) {} Perché è […]

“SELECT COUNT (*)” è lento, anche con la clausola where

Sto cercando di capire come ottimizzare una query molto lenta in MySQL (non l’ho progettata): SELECT COUNT(*) FROM change_event me WHERE change_event_id > ‘1212281603783391’; +———-+ | COUNT(*) | +———-+ | 3224022 | +———-+ 1 row in set (1 min 0.16 sec) Confrontandolo con un conteggio completo: select count(*) from change_event; +———-+ | count(*) | +———-+ […]

Esiste un sostituto efficiente della memoria di java.lang.String?

Dopo aver letto questo vecchio articolo che misura il consumo di memoria di diversi tipi di oggetti, sono rimasto stupito nel vedere quanta memoria usare in Java: length: 0, {class java.lang.String} size = 40 bytes length: 7, {class java.lang.String} size = 56 bytes Mentre l’articolo ha alcuni suggerimenti per minimizzare questo, non li ho trovati […]