Në bërthamën Linux është optimizuar realizimi i algoritmit CRC32C

PĂ«rfshirĂ« nĂ« bĂ«rthamat e ardhshme tĂ« Linux 6.13 Ă«shtĂ« propozuar njĂ« patch me njĂ« zbatim tĂ« ripĂ«rcaktuar tĂ« algoritmit pĂ«r gjetjen e checksum-it CRC32C. Kodi i zbatimit tĂ« CRC32C Ă«shtĂ« reduktuar rreth 10 herĂ« (nga 4546 nĂ« 418 bytes). Kur mbrojtja retpoline Ă«shtĂ« e çaktivizuar nga sulmet e klasĂ«s Spectre, pĂ«rmirĂ«simi i performancĂ«s me implementimin e ri arrin 11.8% nĂ« procesorĂ«t AMD Zen 2, 6.4% nĂ« Intel Emerald Rapids dhe 4.8% nĂ« Intel Haswell. Kur retpoline Ă«shtĂ« e aktivizuar, pĂ«rmirĂ«simi i performancĂ«s Ă«shtĂ« mĂ« i dukshĂ«m dhe arrin 66.8% nĂ« sistemet me procesorĂ« Intel Emerald Rapids, 35.0% nĂ« Intel Haswell dhe 29.5% nĂ« AMD Zen 2. retpoline enabled | 512 | 833 | 1024 | 2000 | 3173 | 4096 | ———————+——-+——-+——-+—— +——-+——-+ Intel Haswell | 35.0% | 20.7% | 17.8% | 9.7% | -0.2% | 4.4% | Intel Emerald Rapids | 66.8% | 45.2% | 36.3% | 19.3% | 0.0% | 5.4% | AMD Zen 2 | 29.5% | 17.2% | 13.5% | 8.6% | -0.5% | 2.8% | retpoline disabled: | 512 | 833 | 1024 | 2000 | 3173 | 4096 | ———————+——-+——-+——-+—— +——-+——-+ Intel Haswell | 3.3% | 4.8% | 4.5% | 0.9% | -2.9% | 0.3% | Intel Emerald Rapids | 7.5% | 6.4% | 5.2% | 2.3% | -0.0% | 0.6% | AMD Zen 2 | 11.8% | 1.4% | 0.2% | 1.3% | -0.9% | -0.2%

Versioni fillestar CRC32C përfshinte 128 cikle të shtrira, që çonte në një kod të konsiderueshëm. Duke pasur parasysh procesorët modernë me mbështetje për ekzekutimin e instrukcioneve jashtë rendit (out of order) mund të ekzekutojnë komanda paralelisht, një optimizim i tillë i komandeve të kalimit në cikle u bë i tepërt dhe çoi në një kod shumë të madh. Në vend të 128 iteracioneve, versioni i ri përmban vetëm 4, gjë që jo vetëm që e reduktoi ndjeshëm volumin e kodit, por gjithashtu përshpejtoi kryerjen e operacionit.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster