Codon, ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π½Π° Python, Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Ρ‰Π°Ρ‚Π° компания Exaloop ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° ΠΊΠΎΠ΄Π° Π·Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Codon, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π·Π° Π΅Π·ΠΈΠΊΠ° Python, способСн Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° чист машинСн ΠΊΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Ρ…ΠΎΠ΄, Π½Π΅ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° Python. ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Python Π΅Π·ΠΈΠΊ Seq ΠΈ сС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π° ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΏΡ€Π΅Π΄Π»Π°Π³Π° собствСно Π²Ρ€Π΅ΠΌΠ΅ Π·Π° изпълнСниС Π·Π° изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, която замСства извикванията Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π² Python. Π˜Π·Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π°, Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС ΠΈ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° са написани с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° C++ (с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ LLVM) ΠΈ Python ΠΈ сС разпространяват ΠΏΠΎΠ΄ BSL (Business Source License).

Π›ΠΈΡ†Π΅Π½Π·ΡŠΡ‚ BSL β€‹β€‹Π±Π΅ΡˆΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΎΡ‚ ΡΡŠΠΎΡΠ½ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° MySQL ΠΊΠ°Ρ‚ΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Open Core. Π‘ΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° BSL Π΅, Ρ‡Π΅ ΠΊΠΎΠ΄ΡŠΡ‚ с Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½Π° функционалност ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π·Π° модификация, Π½ΠΎ Π·Π° извСстно Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ само Π°ΠΊΠΎ са изпълнСни Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ условия, ΠΊΠΎΠΈΡ‚ΠΎ изискват Π·Π°ΠΊΡƒΠΏΡƒΠ²Π°Π½Π΅ Π½Π° Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠΈ Π»ΠΈΡ†Π΅Π½Π· Π·Π° заобикалянС. Π”ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΈ условия Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Codon изискват ΠΊΠΎΠ΄ΡŠΡ‚ Π΄Π° бъдС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Π½ към Π»ΠΈΡ†Π΅Π½Π·Π° Apache 2.0 слСд 3 Π³ΠΎΠ΄ΠΈΠ½ΠΈ (1 Π½ΠΎΠ΅ΠΌΠ²Ρ€ΠΈ 2025 Π³.). Π”ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π»ΠΈΡ†Π΅Π½Π·ΡŠΡ‚ позволява ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅, разпространСниС ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π΅, ΠΏΡ€ΠΈ условиС Ρ‡Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π½Π΅Ρ‚ΡŠΡ€Π³ΠΎΠ²ΡΠΊΠΈ Ρ†Π΅Π»ΠΈ.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π΅ прСдставСна ΠΊΠ°Ρ‚ΠΎ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, написани Π½Π° Π΅Π·ΠΈΠΊΠ° C. Π’ сравнСниС с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CPython, ΠΏΠ΅Ρ‡Π°Π»Π±Π°Ρ‚Π° Π² производитСлността ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Codon сС оцСнява Π½Π° 10-100 ΠΏΡŠΡ‚ΠΈ Π·Π° Сднонишково изпълнСниС. ОсвСн Ρ‚ΠΎΠ²Π°, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Python, Codon Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° многопоточност, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява ΠΎΡ‰Π΅ ΠΏΠΎ-голямо ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° производитСлността. Codon ΡΡŠΡ‰ΠΎ Π²ΠΈ позволява Π΄Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Ρ‚Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½Π° функция, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ прСдставянС Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Python.

Codon Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, която Π²ΠΈ позволява Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ функционалността Ρ‡Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, с ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° добавятС Π½ΠΎΠ²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° ΠΈ Π΄ΠΎΡ€ΠΈ Π΄Π° прСдоставятС ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ синтаксис. НапримСр, няколко Π΄ΠΎΠ±Π°Π²ΠΊΠΈ сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ успорСдно Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² Π±ΠΈΠΎΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°Ρ‚Π° ΠΈ финансовата ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠΎΠ»Π΅ΠΊΡ‚ΠΎΡ€ΡŠΡ‚ Π·Π° Π±ΠΎΠΊΠ»ΡƒΠΊ Boehm сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.

ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ синтаксис Π½Π° Python, Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π² машинСн ΠΊΠΎΠ΄ Π½Π°Π»Π°Π³Π° Ρ€Π΅Π΄ΠΈΡ†Π° ограничСния, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅Ρ‡Π°Ρ‚ Π½Π° Codon Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π΅Π½ замСститСл Π½Π° CPython. НапримСр Codon ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° 64-Π±ΠΈΡ‚ΠΎΠ² Ρ‚ΠΈΠΏ int Π·Π° Ρ†Π΅Π»ΠΈ числа, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ CPython ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π° Ρ†Π΅Π»ΠΈ числа. Π“ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° изискват ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ΄Π°, Π·Π° Π΄Π° сС постигнС ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с Codon. ΠšΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΠΈΡ‚Π΅ са ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈ ΠΎΡ‚ липсата Π½Π° внСдряванС Π·Π° Codon Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Python ΠΈ Π½Π΅Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ някои Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ°. Π—Π° всяка Ρ‚Π°ΠΊΠ°Π²Π° Π½Π΅ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΈΠ·Π΄Π°Π²Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ диагностично ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с информация ΠΊΠ°ΠΊ Π΄Π° сС Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚.

Codon, ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π½Π° Python, Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½


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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€