Π Π΅Π»ΠΈΠ· языка программирования Go 1.13

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· языка программирования Go 1.13, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ развиваСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google ΠΏΡ€ΠΈ участии сообщСства ΠΊΠ°ΠΊ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков с Ρ‚Π°ΠΊΠΈΠΌΠΈ достоинствами скриптовых языков, ΠΊΠ°ΠΊ Π»Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒ написания ΠΊΠΎΠ΄Π°, быстрота Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ ошибок. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD.

Бинтаксис Go основан Π½Π° ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… элСмСнтах языка Π‘ΠΈ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ заимствованиями ΠΈΠ· языка Python. Π―Π·Ρ‹ΠΊ достаточно Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π΅Π½, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΊΠΎΠ΄ Π»Π΅Π³ΠΊΠΎ читаСтся ΠΈ воспринимаСтся. Код Π½Π° языкС Go компилируСтся Π² обособлСнныС Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, выполняСмыС Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ Π±Π΅Π· использования Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ (ΠΌΠΎΠ΄ΡƒΠ»ΠΈ профилирования, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ подсистСмы выявлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π° этапС выполнСния ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ runtime-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²), Ρ‡Ρ‚ΠΎ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, сопоставимой с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π½Π° языкС Π‘ΠΈ.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ разрабатываСтся с оглядкой Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π° многоядСрных систСмах, Π² Ρ‚ΠΎΠΌ числС прСдоставляя Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² срСдства для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний ΠΈ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ выполняСмыми ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. Π―Π·Ρ‹ΠΊ Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт встроСнныС срСдства Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π·Π° допустимыС области Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² памяти ΠΈ обСспСчиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования сборщика мусора.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°, прСдставлСнныС Π² выпускС Go 1.13:

  • Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ crypto/tls Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TLS 1.3. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ «crypto/ed25519» с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй Ed25519;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… прСфиксов Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² для опрСдСлСния Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… чисСл (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 0b101), Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… (0o377), ΠΌΠ½ΠΈΠΌΡ‹Ρ… (2.71828i) ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой (0x1p-1021), Π° Ρ‚Π°ΠΊΠΆΠ΅ обСспСчСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования символа «_» для наглядного раздСлСния Ρ†ΠΈΡ„Ρ€ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… числах (1_000_000);
  • Бнято ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° использованиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²Ρ‹Ρ… счётчиков Π² опСрациях сдвига, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π² Ρ‚ΠΈΠΏ uint ΠΏΠ΅Ρ€Π΅Π΄ использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² «‹‹» ΠΈ «››»;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Illumos (GOOS=illumos). ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Android 10. ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Ρ‹ трСбования ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ вСрсиям FreeBSD (11.2) ΠΈ macOS (10.11 «El Capitan»)
  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΎ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ систСмы ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ GOPATH. Π’ΠΎΠΏΡ€Π΅ΠΊΠΈ Ρ€Π°Π½Π΅Π΅ ΠΎΠ·Π²ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΠ»Π°Π½Π°ΠΌ Π² Go 1.13 данная систСма Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ GO111MODULE=on ΠΈΠ»ΠΈ использования контСкста, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ автоматичСски. Новая систСма ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ отличаСтся ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ вСрсионирования, срСдствами доставки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΠΎΠΉ систСмой управлСния зависимостями. ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ большС Π½Π΅ привязаны ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Π΅Ρ€Π΅Π²Π° GOPATH, ΠΌΠΎΠ³ΡƒΡ‚ явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ зависимости с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ вСрсий ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ повторяСмыС сборки.

    Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… выпусков автоматичСскоС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ систСмы Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ срабатываСт, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ go Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈΠ»ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ присутствуСт Ρ„Π°ΠΉΠ» go.mod, Π² Ρ‚ΠΎΠΌ числС ΠΏΡ€ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ GOPATH/src. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния: GOPRIVATE, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ ΠΏΡƒΡ‚ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ нСдоступных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΈ GOSUMDB, Π·Π°Π΄Π°ΡŽΡ‰Π°Ρ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ доступа ΠΊ Π±Π°Π·Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Π½Π΅ пСрСчислСнных Π² Ρ„Π°ΠΉΠ»Π΅ go.sum;

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ «go» ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ обСспСчСна Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΡ… цСлостности, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π΅Ρ€ΠΊΠ°Π»ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ Π±Π°Π·Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google (proxy.golang.org, sum.golang.org ΠΈ index.golang.org);
  • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², сборка ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ «//go:binary-only-package» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ошибки;
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ «go get» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° суффикса «@patch», ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½ Π΄ΠΎ послСднСго ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ выпуска, Π½ΠΎ Π±Π΅Π· смСны Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ вСрсии;
  • ΠŸΡ€ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈΠ· систСм контроля вСрсий ΠΊΠΎΠΌΠ°Π½Π΄Π° «go» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выполняСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ строки с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ вСрсии, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° псСвдо-вСрсий с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· рСпозитория;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° инспСктирования ошибок (error wrapping) Ρ‡Π΅Ρ€Π΅Π· созданиС ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΎΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ошибок. НапримСр, ошибка «e» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ‘Ρ€Π½ΡƒΡ‚Π° Π½Π°Π΄ ошибкой «w» Ρ‡Π΅Ρ€Π΅Π· прСдоставлСниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Unwrap, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ «w». ОбС ошибки «e» ΠΈ «w» доступны Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π½Π° основании ошибки «w», Π½ΠΎ «e» прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст ΠΊ «w» ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎ ΠΈΠ½ΠΎΠΌΡƒ;
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ runtime-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (отмСчаСтся прирост скорости Π΄ΠΎ 30%) ΠΈ задСйствовано Π±ΠΎΠ»Π΅Π΅ агрСссивноС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ памяти Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму (Ρ€Π°Π½Π΅Π΅ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π°ΡΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡΡ‚ΡŒ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΈΠ½ΡƒΡ‚, Π° сСйчас сразу послС урСзания Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΡƒΡ‡ΠΈ).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru