Dela via


Prestanda för flertrådade bibliotek

Den enkeltrådade CRT:n är inte längre tillgänglig. I den här artikeln beskrivs hur du får ut maximal prestanda från bibliotek med flera läsningar.

Maximera prestanda

Prestandan för de flertrådade biblioteken har förbättrats och ligger nära prestandan för de nu eliminerade biblioteken med en tråd. För sådana situationer när det krävs ännu högre prestanda finns det flera nya funktioner.

  • Med oberoende strömlåsning kan du låsa en ström och sedan använda _nolock funktioner som kommer åt strömmen direkt. Med den här funktionen kan låsanvändningen hissas utanför kritiska loopar.

  • Språkvarianten per tråd minskar kostnaden för språkåtkomst för flertrådsscenarier (se _configthreadlocale).

  • Språkberoende funktioner (med namn som slutar _l) tar språkvarianten som en parameter, vilket tar bort betydande kostnader (till exempel printf, _printf_l, wprintf, _wprintf_l).

  • Optimeringar för vanliga kodsidor minskar kostnaden för många korta åtgärder.

  • Definitionen _CRT_DISABLE_PERFCRIT_LOCKS tvingar alla I/O-åtgärder att anta en enkeltrådad I/O-modell och använda _nolock funktionernas former. Med det här makrot kan I/O-baserade program med enkeltrådning få bättre prestanda.

  • Med exponering av CRT-heaphandtaget kan du aktivera Windows Low Fragmentation Heap (LFH) för CRT-heapen, vilket avsevärt kan förbättra prestanda i scenarier med hög skala.

Se även

.lib