[C++ programmatore]:
programmazione
ultra-bassa latenza è difficile. Molto più difficile di quanto le persone sospettano quando iniziano per la prima volta il percorso. Ci sono alcune tecniche e "trucchi" che puoi utilizzare. Come porte di I/O di completamento, utilizzo multi-core, tecniche di sincronizzazione altamente ottimizzate, memoria condivisa. L'elenco potrebbe continuare all'infinito. (modifica) Non è semplice come "code-profile-refactor-repeat" perché puoi scrivere codice eccellente che è robusto e veloce, ma non sarà mai veramente un codice di latenza ultra-basso.
Sfortunatamente non esiste una singola risorsa che conosca che indichi come è stata eseguita. I programmatori specializzati in (e bravi a) codici a bassa latenza sono tra i migliori del settore e i più esperti. E a ragione. Perché se c'è una soluzione di proiettile d'argento per diventare un buon programmatore a bassa latenza, è semplicemente questo: devi sapere molto di tutto su . E questa conoscenza non è facile da trovare. Ci vogliono anni (decenni?) Di esperienza e studio costante.
Per quanto riguarda lo studio stesso è interessato, ecco un paio di libri che ho trovato utile o particolarmente penetranti per un motivo o un altro:
fonte
2011-01-26 22:44:06
Dipende da cosa è quel codice? Il codice IO è vincolato, o la cpu è vincolata? Non ha senso avere assemblaggi fatti a mano se si sta aspettando su un database e non ha senso avere un filesystem standard di google se tutto ciò che si vuole fare è scrivere un file di testo. –
La risposta per una sola lingua prenderebbe libri e ci si aspetta di ottenere risposte per C++/Java/C#: questo richiederà biblioteche. Quindi immagino che dovrai concertare la tua domanda se ti aspetti delle risposte. –
Passaggio 1: programma di scrittura. Passaggio 2: misurare le prestazioni. Passo 3: Se la prestazione è spazzatura, ottimizzare in punti caldi. Passaggio 4. Passo Goto 2. –