Telegram Group & Telegram Channel
πŸ‘£ Как Go 1.24 сэкономил сотни Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ памяти

Π’ Datadog ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ Go Π΄ΠΎ вСрсии 1.24 ΠΈ сразу Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Ρ€Π΅Π·ΠΊΠΎΠ΅ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ использования памяти.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ?

Π’ Go 1.24 появилась новая рСализация Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ† β€” Swiss Tables, вдохновлённая ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΎΡ‚ Google.

πŸ“Œ Π§Ρ‚ΠΎ измСнилось Π² Go:
β€” большС Π½ΠΈΠΊΠ°ΠΊΠΈΡ… overflow-Π±Π°ΠΊΠ΅Ρ‚ΠΎΠ²
β€” ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ load factor Π΄ΠΎ 87.5%
β€” аллокация Π³ΠΈΠ±Ρ‡Π΅: split вмСсто ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ копирования
β€” мСньшС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ кэш-Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

πŸ“Š ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
map с 3.5 ΠΌΠ»Π½ элСмСнтов:
β€’ Go 1.23 β€” 726 MiB Π½Π° Π±Π°ΠΊΠ΅Ρ‚Ρ‹
β€’ Go 1.24 β€” 217 MiB
β†’ Экономия: ~500 MiB Π½Π° ΠΎΠ΄Π½Ρƒ ΠΊΠ°Ρ€Ρ‚Ρƒ

Но настоящая магия Π½Π°Ρ‡Π°Π»Π°ΡΡŒ ΠΏΠΎΠ·ΠΆΠ΅:

πŸ› οΈ Они нашли, Ρ‡Ρ‚ΠΎ Π² структурС Response:
β€’ Π±Ρ‹Π»ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ поля (`RoutingKey`, `LastModified`)
β€’ ΠΏΠΎΠ»Π΅ ShardType Π±Ρ‹Π»ΠΎ int, хотя Ρ…Π²Π°Ρ‚Π°Π»ΠΎ uint8

ПослС чистки Ρ€Π°Π·ΠΌΠ΅Ρ€ структуры ΡƒΠΏΠ°Π» с 56 Π΄ΠΎ 24 Π±Π°ΠΉΡ‚ β€” ΠΈ это Π΄Π°Π»ΠΎ Π΅Ρ‰Ρ‘ -250 MiB RSS с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π°.

πŸ’‘ Π’Ρ‹Π²ΠΎΠ΄Ρ‹:
1. ОбновлСниС Go = бСсплатная оптимизация ΠΊΠ°Ρ€Ρ‚
2. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ структуры Π΄Π°Π½Π½Ρ‹Ρ… = Π΅Ρ‰Ρ‘ большС ΠΏΡ€ΠΎΡ„ΠΈΡ‚Π°
3. ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ β€” must-have

πŸ“‰ Π’ ΠΈΡ‚ΠΎΠ³Π΅: сотни Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ экономии Π±Π΅Π· измСнСния Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния.

πŸ”— ΠŸΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€:
https://www.datadoghq.com/blog/engineering/go-swiss-tables

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ”₯112πŸ‘27❀19πŸ‘2



group-telegram.com/Golang_google/3030
Create:
Last Update:

πŸ‘£ Как Go 1.24 сэкономил сотни Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ памяти

Π’ Datadog ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ Go Π΄ΠΎ вСрсии 1.24 ΠΈ сразу Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Ρ€Π΅Π·ΠΊΠΎΠ΅ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ использования памяти.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ?

Π’ Go 1.24 появилась новая рСализация Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ† β€” Swiss Tables, вдохновлённая ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ ΠΎΡ‚ Google.

πŸ“Œ Π§Ρ‚ΠΎ измСнилось Π² Go:
β€” большС Π½ΠΈΠΊΠ°ΠΊΠΈΡ… overflow-Π±Π°ΠΊΠ΅Ρ‚ΠΎΠ²
β€” ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ load factor Π΄ΠΎ 87.5%
β€” аллокация Π³ΠΈΠ±Ρ‡Π΅: split вмСсто ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ копирования
β€” мСньшС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ кэш-Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

πŸ“Š ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
map с 3.5 ΠΌΠ»Π½ элСмСнтов:
β€’ Go 1.23 β€” 726 MiB Π½Π° Π±Π°ΠΊΠ΅Ρ‚Ρ‹
β€’ Go 1.24 β€” 217 MiB
β†’ Экономия: ~500 MiB Π½Π° ΠΎΠ΄Π½Ρƒ ΠΊΠ°Ρ€Ρ‚Ρƒ

Но настоящая магия Π½Π°Ρ‡Π°Π»Π°ΡΡŒ ΠΏΠΎΠ·ΠΆΠ΅:

πŸ› οΈ Они нашли, Ρ‡Ρ‚ΠΎ Π² структурС Response:
β€’ Π±Ρ‹Π»ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ поля (`RoutingKey`, `LastModified`)
β€’ ΠΏΠΎΠ»Π΅ ShardType Π±Ρ‹Π»ΠΎ int, хотя Ρ…Π²Π°Ρ‚Π°Π»ΠΎ uint8

ПослС чистки Ρ€Π°Π·ΠΌΠ΅Ρ€ структуры ΡƒΠΏΠ°Π» с 56 Π΄ΠΎ 24 Π±Π°ΠΉΡ‚ β€” ΠΈ это Π΄Π°Π»ΠΎ Π΅Ρ‰Ρ‘ -250 MiB RSS с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π°.

πŸ’‘ Π’Ρ‹Π²ΠΎΠ΄Ρ‹:
1. ОбновлСниС Go = бСсплатная оптимизация ΠΊΠ°Ρ€Ρ‚
2. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ структуры Π΄Π°Π½Π½Ρ‹Ρ… = Π΅Ρ‰Ρ‘ большС ΠΏΡ€ΠΎΡ„ΠΈΡ‚Π°
3. ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ β€” must-have

πŸ“‰ Π’ ΠΈΡ‚ΠΎΠ³Π΅: сотни Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ экономии Π±Π΅Π· измСнСния Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния.

πŸ”— ΠŸΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€:
https://www.datadoghq.com/blog/engineering/go-swiss-tables

@golang_google

BY Golang













Share with your friend now:
group-telegram.com/Golang_google/3030

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

The next bit isn’t clear, but Durov reportedly claimed that his resignation, dated March 21st, was an April Fools’ prank. TechCrunch implies that it was a matter of principle, but it’s hard to be clear on the wheres, whos and whys. Similarly, on April 17th, the Moscow Times quoted Durov as saying that he quit the company after being pressured to reveal account details about Ukrainians protesting the then-president Viktor Yanukovych. "There are several million Russians who can lift their head up from propaganda and try to look for other sources, and I'd say that most look for it on Telegram," he said. Official government accounts have also spread fake fact checks. An official Twitter account for the Russia diplomatic mission in Geneva shared a fake debunking video claiming without evidence that "Western and Ukrainian media are creating thousands of fake news on Russia every day." The video, which has amassed almost 30,000 views, offered a "how-to" spot misinformation. Sebi said data, emails and other documents are being retrieved from the seized devices and detailed investigation is in progress. The regulator said it had received information that messages containing stock tips and other investment advice with respect to selected listed companies are being widely circulated through websites and social media platforms such as Telegram, Facebook, WhatsApp and Instagram.
from us


Telegram Golang
FROM American