Telegram Group & Telegram Channel
πŸ¦€ Zero-cost abstractions β€” ΠΌΠΈΡ„ ΠΈΠ»ΠΈ магия?

Одна ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ Rust β€” zero-cost abstractions. Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΡ€ΡƒΡ‚ΠΎ, Π½ΠΎ Ρ‡Ρ‚ΠΎ это Π½Π° Π΄Π΅Π»Π΅?

πŸ“¦ Когда Ρ‚Ρ‹ пишСшь абстрактный ΠΊΠΎΠ΄ (Π΄ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊΠΈ, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Ρ€Π΅ΠΉΡ‚Ρ‹), Ρ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ»Π°Ρ‚ΠΈΡˆΡŒ Ρ†Π΅Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Но Π½Π΅ Π² Rust.

🧠 Rust-компилятор (LLVM) Π½Π° этапС компиляции ΠΌΠΎΠ½ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ (спСциализируСт) ΠΊΠΎΠ΄ β€” ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹Π΅ конструкции Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅, Π° Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ β€” Π²Ρ‹ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅Ρ‚. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρ‚Π²ΠΎΠΈ абстракции Π½Π΅ тормозят, Π° ΠΊΠΎΠ΄ остаётся Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

fn square<T: Copy + std::ops::Mul<Output = T>>(x: T) -> T {
x * x
}


Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ компиляции становится ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ для i32, f64, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ β€” Π±Π΅Π· ΠΎΠ²Π΅Ρ€Ρ…Π΅Π΄Π°.

⚑️ Rust Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· страха ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Π² пСрформансС. ИмСнно поэтому ΠΎΠ½ стал Π»ΡŽΠ±ΠΈΠΌΡ†Π΅ΠΌ систСмных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΈΡˆΡƒΡ‰ΠΈΡ… ΠΈ ΠΏΠΎΠ΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, ΠΈ ΠΏΠΎΠ΄ Π²Π΅Π±.

🧩 А Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ zero-cost ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Π² своём ΠΊΠΎΠ΄Π΅? Π”Π΅Π»ΠΈΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π² коммСнтариях!

πŸ‘‰ @rust_lib



tg-me.com/rust_lib/234
Create:
Last Update:

πŸ¦€ Zero-cost abstractions β€” ΠΌΠΈΡ„ ΠΈΠ»ΠΈ магия?

Одна ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ Rust β€” zero-cost abstractions. Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΡ€ΡƒΡ‚ΠΎ, Π½ΠΎ Ρ‡Ρ‚ΠΎ это Π½Π° Π΄Π΅Π»Π΅?

πŸ“¦ Когда Ρ‚Ρ‹ пишСшь абстрактный ΠΊΠΎΠ΄ (Π΄ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊΠΈ, ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Ρ€Π΅ΠΉΡ‚Ρ‹), Ρ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ»Π°Ρ‚ΠΈΡˆΡŒ Ρ†Π΅Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Но Π½Π΅ Π² Rust.

🧠 Rust-компилятор (LLVM) Π½Π° этапС компиляции ΠΌΠΎΠ½ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ (спСциализируСт) ΠΊΠΎΠ΄ β€” ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½Ρ‹Π΅ конструкции Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅, Π° Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ β€” Π²Ρ‹ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅Ρ‚. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρ‚Π²ΠΎΠΈ абстракции Π½Π΅ тормозят, Π° ΠΊΠΎΠ΄ остаётся Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


fn square<T: Copy + std::ops::Mul<Output = T>>(x: T) -> T {
x * x
}


Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ компиляции становится ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ для i32, f64, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ β€” Π±Π΅Π· ΠΎΠ²Π΅Ρ€Ρ…Π΅Π΄Π°.

⚑️ Rust Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· страха ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Π² пСрформансС. ИмСнно поэтому ΠΎΠ½ стал Π»ΡŽΠ±ΠΈΠΌΡ†Π΅ΠΌ систСмных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΈΡˆΡƒΡ‰ΠΈΡ… ΠΈ ΠΏΠΎΠ΄ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, ΠΈ ΠΏΠΎΠ΄ Π²Π΅Π±.

🧩 А Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ zero-cost ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Π² своём ΠΊΠΎΠ΄Π΅? Π”Π΅Π»ΠΈΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π² коммСнтариях!

πŸ‘‰ @rust_lib

BY Rust




Share with your friend now:
tg-me.com/rust_lib/234

View MORE
Open in Telegram


Rust Telegram | DID YOU KNOW?

Date: |

However, analysts are positive on the stock now. β€œWe have seen a huge downside movement in the stock due to the central electricity regulatory commission’s (CERC) order that seems to be negative from 2014-15 onwards but we cannot take a linear negative view on the stock and further downside movement on the stock is unlikely. Currently stock is underpriced. Investors can bet on it for a longer horizon," said Vivek Gupta, director research at CapitalVia Global Research.

Unlimited members in Telegram group now

Telegram has made it easier for its users to communicate, as it has introduced a feature that allows more than 200,000 users in a group chat. However, if the users in a group chat move past 200,000, it changes into "Broadcast Group", but the feature comes with a restriction. Groups with close to 200k members can be converted to a Broadcast Group that allows unlimited members. Only admins can post in Broadcast Groups, but everyone can read along and participate in group Voice Chats," Telegram added.

Rust from sa


Telegram Rust
FROM USA