Telegram Group & Telegram Channel
πŸ–₯ less_slow.cpp β€” это ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрируСт ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ написания высокоэффСктивного ΠΊΠΎΠ΄Π° Π½Π° C++, C, CUDA, PTX ΠΈ ассСмблСрС.

ЦСль ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚ΡƒΠΈΡ†ΠΈΡŽ ΠΈ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.​

πŸ” ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
- ΠœΠΈΠΊΡ€ΠΎΠ±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ: Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ слоТСниС Ρ†Π΅Π»Ρ‹Ρ… чисСл, с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ inline-ассСмблСр.

- ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вычислСний: Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ стандартных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки ΠΈ ΠΈΡ… оптимизация с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΈΠΊ.

- РСкурсия: Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ рСкурсивных ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ QuickSort, с Π°ΠΊΡ†Π΅Π½Ρ‚ΠΎΠΌ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ использованиС стСка.

- ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ускорСния стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ std::sin, с использованиСм ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΈ SIMD-инструкций.

- Π Π°Π±ΠΎΡ‚Π° с JSON: Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ парсинг JSON Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… Π°Π»Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ памяти, использованиС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² стандартным Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ.​
GitHub
Hacker News

πŸ› οΈ Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:
- ИспользованиС C++20 ΠΈ соврСмСнных компиляторов (GCC, Clang) для дСмонстрации Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй языка.

- Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Google Benchmark для провСдСния Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

- ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Π½Π° CUDA, PTX ΠΈ ассСмблСрС для дСмонстрации Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

- ИспользованиС сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ fmt, range-v3, libunifex, cppcoro, liburing, oneTBB, ASIO, CUTLASS, CTRE, yyjson, Abseil, StringZilla ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.​

πŸ“š Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы:
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ сСрии "Less Slow", которая Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Rust ΠΈ Python.

Π‘Π»ΠΎΠ³ Π°Π²Ρ‚ΠΎΡ€Π° содСрТит ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ°ΠΌ, Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅: ashvardanian.com/tags/less-slow.​

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π³Π»ΡƒΠ±ΠΆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ эффСктивный ΠΊΠΎΠ΄ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ распространённых ошибок, less_slow.cpp станСт ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ практичСским пособиСм.

β–ͺGithub
β–ͺRust
β–ͺPython.


@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/cpluspluc/1038
Create:
Last Update:

πŸ–₯ less_slow.cpp β€” это ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрируСт ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ написания высокоэффСктивного ΠΊΠΎΠ΄Π° Π½Π° C++, C, CUDA, PTX ΠΈ ассСмблСрС.

ЦСль ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚ΡƒΠΈΡ†ΠΈΡŽ ΠΈ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.​

πŸ” ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
- ΠœΠΈΠΊΡ€ΠΎΠ±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ: Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ слоТСниС Ρ†Π΅Π»Ρ‹Ρ… чисСл, с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ inline-ассСмблСр.

- ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вычислСний: Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ стандартных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки ΠΈ ΠΈΡ… оптимизация с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΈΠΊ.

- РСкурсия: Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ рСкурсивных ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ QuickSort, с Π°ΠΊΡ†Π΅Π½Ρ‚ΠΎΠΌ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ использованиС стСка.

- ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ускорСния стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ std::sin, с использованиСм ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΈ SIMD-инструкций.

- Π Π°Π±ΠΎΡ‚Π° с JSON: Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ парсинг JSON Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… Π°Π»Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ памяти, использованиС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² стандартным Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ.​
GitHub
Hacker News

πŸ› οΈ Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:
- ИспользованиС C++20 ΠΈ соврСмСнных компиляторов (GCC, Clang) для дСмонстрации Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй языка.

- Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Google Benchmark для провСдСния Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

- ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Π½Π° CUDA, PTX ΠΈ ассСмблСрС для дСмонстрации Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

- ИспользованиС сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ fmt, range-v3, libunifex, cppcoro, liburing, oneTBB, ASIO, CUTLASS, CTRE, yyjson, Abseil, StringZilla ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.​

πŸ“š Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы:
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ сСрии "Less Slow", которая Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Rust ΠΈ Python.

Π‘Π»ΠΎΠ³ Π°Π²Ρ‚ΠΎΡ€Π° содСрТит ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ°ΠΌ, Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅: ashvardanian.com/tags/less-slow.​

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π³Π»ΡƒΠ±ΠΆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ эффСктивный ΠΊΠΎΠ΄ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ распространённых ошибок, less_slow.cpp станСт ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ практичСским пособиСм.

β–ͺGithub
β–ͺRust
β–ͺPython.


@cpluspluc

BY C++ Academy




Share with your friend now:
tg-me.com/cpluspluc/1038

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

The global forecast for the Asian markets is murky following recent volatility, with crude oil prices providing support in what has been an otherwise tough month. The European markets were down and the U.S. bourses were mixed and flat and the Asian markets figure to split the difference.The TSE finished modestly lower on Friday following losses from the financial shares and property stocks.For the day, the index sank 15.09 points or 0.49 percent to finish at 3,061.35 after trading between 3,057.84 and 3,089.78. Volume was 1.39 billion shares worth 1.30 billion Singapore dollars. There were 285 decliners and 184 gainers.

Telegram auto-delete message, expiring invites, and more

elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.

telegram from id


Telegram C++ Academy
FROM USA