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: |

Why Telegram?

Telegram has no known backdoors and, even though it is come in for criticism for using proprietary encryption methods instead of open-source ones, those have yet to be compromised. While no messaging app can guarantee a 100% impermeable defense against determined attackers, Telegram is vulnerabilities are few and either theoretical or based on spoof files fooling users into actively enabling an attack.

Among the actives, Ascendas REIT sank 0.64 percent, while CapitaLand Integrated Commercial Trust plummeted 1.42 percent, City Developments plunged 1.12 percent, Dairy Farm International tumbled 0.86 percent, DBS Group skidded 0.68 percent, Genting Singapore retreated 0.67 percent, Hongkong Land climbed 1.30 percent, Mapletree Commercial Trust lost 0.47 percent, Mapletree Logistics Trust tanked 0.95 percent, Oversea-Chinese Banking Corporation dropped 0.61 percent, SATS rose 0.24 percent, SembCorp Industries shed 0.54 percent, Singapore Airlines surrendered 0.79 percent, Singapore Exchange slid 0.30 percent, Singapore Press Holdings declined 1.03 percent, Singapore Technologies Engineering dipped 0.26 percent, SingTel advanced 0.81 percent, United Overseas Bank fell 0.39 percent, Wilmar International eased 0.24 percent, Yangzijiang Shipbuilding jumped 1.42 percent and Keppel Corp, Thai Beverage, CapitaLand and Comfort DelGro were unchanged.

Rust from sa


Telegram Rust
FROM USA