เบกเบตเบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เปƒเบ™ Linux kernel เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบšเบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰ AVX เป€เบฎเบฑเบ”เบงเบฝเบเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด.

ะ’ ัะดั€ะต Linux, ะฝะฐั‡ะธะฝะฐั ั ะฒั‹ะฟัƒัะบะฐ 5.2, เบ›เบฒเบเบปเบ” ะพัˆะธะฑะบะฐ, ะบะพั‚ะพั€ะฐั ะฟั€ะธะฒะพะดะธั‚ ะบ ะฝะฐั€ัƒัˆะตะฝะธัŽ ัะพะดะตั€ะถะธะผะพะณะพ ั€ะตะณะธัั‚ั€ะฐ AVX ะฟั€ะธ ะฒะพะทะฒั€ะฐั‚ะต ะธะท ะพะฑั€ะฐะฑะพั‚ั‡ะธะบะฐ ัะธะณะฝะฐะปะฐ, ะพะฑั€ะฐะฑะฐั‚ั‹ะฒะฐะตะผะพะณะพ ะฟั€ะธ ะณะตะฝะตั€ะฐั†ะธะธ ะธัะบะปัŽั‡ะตะฝะธั (page-fault). ะŸั€ะพะฑะปะตะผะฐ ะฒะพะทะฝะธะบะฐะตั‚ ะฟั€ะธ ะทะฐะฟัƒัะบะต ะผะฝะพะณะพะฟะพั‚ะพั‡ะฝั‹ั… ะฟั€ะพะณั€ะฐะผะผ (ยซ-pthreadยป), ะฒ ะบะพั‚ะพั€ั‹ั… ะธะผะตัŽั‚ัั ะฒั‹ั‡ะธัะปะตะฝะธั ั ั€ะตะณะธัั‚ั€ะพะผ AVX, ะฒ ัะปัƒั‡ะฐะต ัะฑะพั€ะบะธ ัะดั€ะฐ ะฒ GCC 9 (ะฟั€ะธ ัะฑะพั€ะบะต ะฒ ะฑะพะปะตะต ั€ะฐะฝะฝะธั… ะฒั‹ะฟัƒัะบะฐั… GCC ะพัˆะธะฑะบะฐ ะฝะต ะฟั€ะพัะฒะปัะตั‚ัั, ั‚ะฐะบ ะบะฐะบ GCC 9 ะบััˆะธั€ัƒะตั‚ ะฐะดั€ะตั ะฟะตั€ะตะผะตะฝะฝะพะน thread-local ะฒ ั€ะตะณะธัั‚ั€ะต, ะฐ ะฑะพะปะตะต ั€ะฐะฝะฝะธะต ะฒะตั€ัะธะธ GCC ะทะฐะณั€ัƒะถะฐัŽั‚ ะตะณะพ ะบะฐะถะดั‹ะน ั€ะฐะท).

ะŸั€ะพะฑะปะตะผะฐ ะฟั€ะธะฒะพะดะธั‚ ะบ ะฟั€ะตะถะดะตะฒั€ะตะผะตะฝะฝะพะผัƒ ะทะฐะฒะตั€ัˆะตะฝะธัŽ ะฟั€ะพะณั€ะฐะผะผั‹ ั ะพัˆะธะฑะบะพะน ะฟะพะฒั€ะตะถะดะตะฝะธั ะฟะฐะผัั‚ะธ. ะะฐะธะฑะพะปะตะต ะทะฐะผะตั‚ะฝั‹ะผ ะธ ั‡ะฐัั‚ะพ ะฝะฐะฑะปัŽะดะฐะตะผั‹ะผ ะฟั€ะพัะฒะปะตะฝะธะตะผ ะพัˆะธะฑะบะธ เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™ เบ‚เบฑเบ”เบ‚เป‰เบญเบ‡ เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ, ะฝะฐะฟะธัะฐะฝะฝั‹ั… ะฝะฐ ัะทั‹ะบะต Go. ะ˜ะท-ะทะฐ ะพั‚ะผะตั‡ะตะฝะฝะพะน ะฟั€ะพะฑะปะตะผั‹ ะฟั€ะพะณั€ะฐะผะผั‹ ะฝะฐ ัะทั‹ะบะต Go ะฟั€ะตะถะดะตะฒั€ะตะผะตะฝะฝะพ ะทะฐะฒะตั€ัˆะฐัŽั‚ัั, ะบะฐะบ ะฟั€ะฐะฒะธะปะพ, ั ะพัˆะธะฑะบะฐะผะธ ยซruntime error: invalid memory address or nil pointer dereferenceยป, ยซruntime: unexpected return pcยป ะธ ยซsegmentation violationยป. ะ’ ัะดั€ะต ะพัˆะธะฑะบะฐ ะฟะพะบะฐ ะพัั‚ะฐั‘ั‚ัั ะฝะตะธัะฟั€ะฐะฒะปะตะฝะฝะพะน. ะ ะฐััะผะฐั‚ั€ะธะฒะฐะตั‚ัั ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะดะพะฑะฐะฒะปะตะฝะธั ะฒ runtime ัะทั‹ะบะฐ Go ะธะทะผะตะฝะตะฝะธะน ะดะปั ะฒั‹ะฑะพั€ะพั‡ะฝะพะณะพ ะพะฑั…ะพะดะฐ ะพัˆะธะฑะบะธ ะฝะฐ ะฟั€ะพะฑะปะตะผะฝั‹ั… ัะดั€ะฐั… Linux, ั†ะตะฝะพะน ะฟะพัะฒะปะตะฝะธั ะดะพะฟะพะปะฝะธั‚ะตะปัŒะฝั‹ั… ะฝะฐะบะปะฐะดะฝั‹ั… ั€ะฐัั…ะพะดะพะฒ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™