Prestazioni delle librerie multithread

CRT a thread singolo non è più disponibile. Questo articolo illustra come ottenere le prestazioni massime dalle librerie multithreading.

Massimizzazione delle prestazioni

Le prestazioni delle librerie con multithreading sono state migliorate e sono vicine alle prestazioni delle librerie a thread singolo, ora eliminate. Per i casi in cui sono richieste prestazioni superiori, esistono alcune nuove funzionalità.

  • Il blocco indipendente del flusso consente di bloccare un flusso e quindi di usare _nolock funzioni che accedono direttamente al flusso. Questa funzionalità consente di accumulare l'utilizzo dei blocchi all'esterno dei cicli critici.

  • Le impostazioni locali per thread riducono il costo dell'accesso alle impostazioni locali per gli scenari multithreading (vedere _configthreadlocale).

  • Le funzioni dipendenti dalle impostazioni locali (con nomi che terminano in _l) accettano le impostazioni locali come parametro, rimuovendo costi sostanziali (ad esempio, printf, _printf_l, wprintf, ). _wprintf_l

  • Le ottimizzazioni per le tabelle codici comuni riducono il costo di molte operazioni brevi.

  • La definizione _CRT_DISABLE_PERFCRIT_LOCKS impone a tutte le operazioni di I/O di presupporre un modello di I/O a thread singolo e usare le _nolock forme delle funzioni. Questa macro consente alle applicazioni a thread singolo basate su I/O di ottenere prestazioni migliori.

  • L'esposizione dell'handle heap CRT consente di abilitare Windows Low Fragmentation Heap (LFH) per l'heap CRT, che consente di migliorare notevolmente le prestazioni negli scenari altamente ridimensionati.

Vedi anche

File C Runtime (CRT) e C++ Standard Library (STL) .lib