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

Telegram Auto-Delete Messages in Any Chat

Some messages aren’t supposed to last forever. There are some Telegram groups and conversations where it’s best if messages are automatically deleted in a day or a week. Here’s how to auto-delete messages in any Telegram chat. You can enable the auto-delete feature on a per-chat basis. It works for both one-on-one conversations and group chats. Previously, you needed to use the Secret Chat feature to automatically delete messages after a set time. At the time of writing, you can choose to automatically delete messages after a day or a week. Telegram starts the timer once they are sent, not after they are read. This won’t affect the messages that were sent before enabling the feature.

Telegram announces Anonymous Admins

The cloud-based messaging platform is also adding Anonymous Group Admins feature. As per Telegram, this feature is being introduced for safer protests. As per the Telegram blog post, users can β€œToggle Remain Anonymous in Admin rights to enable Batman mode. The anonymized admin will be hidden in the list of group members, and their messages in the chat will be signed with the group name, similar to channel posts.”

Rust from ca


Telegram Rust
FROM USA