เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ›เปเบเบผเบก C ++

ะ‘ะตะฝะดะถะฐะผะธะฝ ะกะฐะผะผะตั€ั‚ะพะฝ (Benjamin Summerton), ะฐะฒั‚ะพั€ ัะธัั‚ะตะผั‹ ั‚ั€ะฐััะธั€ะพะฒะบะธ ะปัƒั‡ะตะน PSRayTracing, ะฟั€ะพะฐะฝะฐะปะธะทะธั€ะพะฒะฐะป ะฒะปะธัะฝะธะต ะฝะฐ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ะฟั€ะธะปะพะถะตะฝะธะน ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต ะฒ ะบะพะดะต ะฝะฐ ัะทั‹ะบะต ะก++ ะบะปัŽั‡ะตะฒะพะณะพ ัะปะพะฒะฐ ยซfinalยป, ะฟะพัะฒะธะฒัˆะตะณะพัั ะฒ ัั‚ะฐะฝะดะฐั€ั‚ะต C++11. ะŸั€ะธั‡ะธะฝะพะน ะฟั€ะพะฒะตะดะตะฝะธั ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธั ะฟะพัะปัƒะถะธะปะธ ะฒะธั‚ะฐัŽั‰ะธะต ะฒ ัะตั‚ะธ ะทะฐัะฒะปะตะฝะธั, ั‡ั‚ะพ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต ยซfinalยป ะฟะพะทะฒะพะปัะตั‚ ะฟะพะฒั‹ัะธั‚ัŒ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ, ะบะพั‚ะพั€ั‹ะต ะพะณั€ะฐะฝะธั‡ะธะฒะฐะปะธััŒ ะพั†ะตะฝะพั‡ะฝั‹ะผะธ ััƒะถะดะตะฝะธัะผะธ ะฑะตะท ัƒะบะฐะทะฐะฝะธั ั€ะตะทัƒะปัŒั‚ะฐั‚ะพะฒ ะธะทะผะตะฝะตะฝะธะน.

ะŸั€ะพะฒะตะดั‘ะฝะฝะพะต ะ‘ะตะฝะดะถะฐะผะธะฝะพะผ ั‚ะตัั‚ะธั€ะพะฒะฐะฝะธะต ะฟะพะบะฐะทะฐะปะพ, ั‡ั‚ะพ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ะฟั€ะธ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะธ ยซfinalยป ัะธะปัŒะฝะพ ะทะฐะฒะธัะธั‚ ะพั‚ ะบะพะผะฟะธะปัั‚ะพั€ะฐ. ะŸั€ะธ ัะฑะพั€ะบะต ะฒ GCC ะดะตะนัั‚ะฒะธั‚ะตะปัŒะฝะพ ะฒ ะทะฐะผะตั‚ะฝะพะผ ั‡ะธัะปะต ัะปัƒั‡ะฐะตะฒ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ะฒะพะทั€ะฐัั‚ะฐะปะฐ, ะฝะพ ะฟั€ะธ ัะฑะพั€ะบะต ะฒ Clang ะธ MSVC ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ะฒ ะฑะพะปัŒัˆะธะฝัั‚ะฒะต ัะปัƒั‡ะฐะตะฒ ัะฝะธะถะฐะปะฐััŒ, ะฟั€ะธั‡ั‘ะผ ะฑะพะปะตะต ะพั‰ัƒั‚ะธะผะพ. ะŸั€ะธ ัั‚ะพะผ ะฑะพะปัŒัˆะพะต ะฒะปะธัะฝะธะต, ะบั€ะพะผะต ะบะพะผะฟะธะปัั‚ะพั€ะฐ, ะธะผะตะปะฐ ะฟะปะฐั‚ั„ะพั€ะผะฐ, ะฝะฐะฟั€ะธะผะตั€, ะฟั€ะพัะตะดะฐะฝะธะต ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ ะฑะพะปัŒัˆะต ะฟั€ะพัะฒะปัะปะธััŒ ะฝะฐ ัะธัั‚ะตะผะต ั CPU AMD Ryzen 9 6900HX, ั‡ะตะผ ะฝะฐ ัะธัั‚ะตะผะต ั CPU Apple M1.

เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ›เปเบเบผเบก C ++
เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ‚เบญเบ‡เป‚เบ›เปเบเบผเบก C ++

ะะฐะฟั€ะธะผะตั€, ะฝะฐ ัะธัั‚ะตะผะต AMD Ryzen 9 6900HX ั Ubuntu 23.10 ะฟั€ะธ ัะฑะพั€ะบะต ะฒ Clang ะฒ 90% ั‚ะตัั‚ะพะฒ ะฟั€ะธ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะธ ยซfinalยป ะฝะฐะฑะปัŽะดะฐะปะพััŒ ะทะฐะผะตะดะปะตะฝะธะต ั€ะฐะฑะพั‚ั‹ ะบะฐะบ ะผะธะฝะธะผัƒะผ ะฝะฐ 5%, ะฝะพ ะฒ 2.5% ัะปัƒั‡ะฐะตะฒ ั„ะธะบัะธั€ะพะฒะฐะปะพััŒ ัƒัะบะพั€ะตะฝะธะต ะบะฐะบ ะผะธะฝะธะผัƒะผ ะฝะฐ 5%. ะ”ะปั GCC ะทะฐะผะตะดะปะตะฝะธะต ะฝะฐ 5% ั„ะธะบัะธั€ะพะฒะฐะปะพััŒ ะฒ 0.9% ัะปัƒั‡ะฐะตะฒ, ะฐ ัƒัะบะพั€ะตะฝะธะต ะฝะฐ 5% โ€” ะฒ 15.8% ัะปัƒั‡ะฐะตะฒ. ะ’ MSVC 5% ะทะฐะผะตะดะปะตะฝะธะต ะฝะฐะฑะปัŽะดะฐะปะพััŒ ะฒ 26.2% ั‚ะตัั‚ะพะฒ, ะฐ 5% ัƒัะบะพั€ะตะฝะธะต โ€” 13.3%. ะ”ะปั ัะตะฑั ะฐะฒั‚ะพั€ ะธััะปะตะดะพะฒะฐะฝะธั ัะดะตะปะฐะป ะฒั‹ะฒะพะด ะพ ะฝะตะพะฑั…ะพะดะธะผะพัั‚ะธ ะธะทะฑะตะณะฐั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต ยซfinalยป.

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

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