Mfumo wa JavaScript wa Bun umeidhinishwa kutafsiriwa katika Rust.

Π”ΠΆΠ°Ρ€Ρ€Π΅Π΄ Π‘Π°ΠΌΠ½Π΅Ρ€ (Jarred Sumner), ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΈ основной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сСрвСрной JavaScript-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Bun, ΠΏΡ€ΠΈΠ·Π½Π°Π» ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ экспСримСнт ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с языка Zig ΠΈ Rust ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ AI-ассистСнта Claude Code, ΠΈ принял Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ Bun Π½Π° язык Rust. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° языкС Rust ΡƒΠΆΠ΅ принят Π² основной Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° ΠΊΠΎΠ΄ Π½Π° языкС Zig Π½Π°ΠΌΠ΅Ρ‡Π΅Π½ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ Π°Π²Ρ‚ΠΎΡ€ Bun объявил ΠΎ Π½Π°ΠΉΠΌΠ΅ сотрудников для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Bun, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ 5 Π»Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° языках C/C++ ΠΈ Rust.

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π° Rust Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ прямой ΠΏΠΎΡ€Ρ‚ с языка Zig, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ мноТСство Π±Π»ΠΎΠΊΠΎΠ² unsafe ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρƒ ΠΆΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, Ρ‚Π΅ ΠΆΠ΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅ΠΆΠ½ΠΈΠ΅ внСшниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Ρ‚ Π½Π° Rust ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΡˆΡ‘Π» ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ тСстовым Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. ΠŸΠΎΠΏΡƒΡ‚Π½ΠΎ Π±Ρ‹Π»ΠΎ устранСно нСсколько ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ памяти ΠΈ сбоСв Π² тСстах.

ПослС сборки вСрсии Π½Π° Rust исполняСмый Ρ„Π°ΠΉΠ» получился Π½Π° 3-8 ΠœΠ‘ мСньшС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ сборкС вСрсии Π½Π° Zig. Π’ тСстах ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ вСрсия Π½Π° Rust оказалась Π»ΠΈΠ±ΠΎ быстрСС, Π»ΠΈΠ±ΠΎ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π½Π΅. ΠŸΡ€ΠΈ этом ΠΏΠΎ мнСнию Π”ΠΆΠ°Ρ€Ρ€Π΅Π΄ самым Π²Π°ΠΆΠ½Ρ‹ΠΌ прСимущСством Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π½Π° Rust стала Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ отлавливания ΠΈ прСдотвращСния ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, диагностика ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… послСдниС Π³ΠΎΠ΄Ρ‹ ΠΎΡ‚Π½ΠΈΠΌΠ°Π»Π° Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Bun ΡƒΠΉΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ качСствС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ пСрСписывания Π½Π° Rust Ρ€Π°Π½Π΅Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Bun, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Π΅ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌΠΈ памяти, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ разногласий с Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ Zig Π² ΠΏΠ»Π°Π½Π΅ примСнСния AI для написания ΠΊΠΎΠ΄Π° ΠΈ нСприСмлСмая для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° Zig Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ принятия Π² язык ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΡ… ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ.

Jukwaa la JavaScript la Bun linatengenezwa kama mbadala wa utendaji wa hali ya juu badala ya Node.js na Deno. Mradi huu unatengenezwa kwa kuzingatia utangamano kwa programu za seva za Node.js na unaunga mkono API nyingi za Node.js. Jukwaa hili linajumuisha seti ya zana za kuunda na kuendesha programu za JavaScript na TypeScript, pamoja na muda wa utekelezaji wa kutekeleza programu za JavaScript bila kivinjari, meneja wa kifurushi (kinachoendana na NPM), zana za majaribio, mjenzi wa kifurushi anayejitegemea, na safu ya vidhibiti vya kupachika vilivyoandikwa kwa C. Kwa upande wa utendaji, Bun inafanya kazi vizuri zaidi kuliko Deno na Node.js (katika majaribio kulingana na mfumo wa React, Bun inafanya kazi vizuri zaidi kuliko Deno kwa kipengele cha 2 na Node.js kwa kipengele cha karibu 5). Utekelezaji wa JavaScript unasaidiwa na injini ya JavaScriptCore JavaScript na vipengele vya WebKit vyenye viraka vya ziada.

Chanzo: opennet.ru

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS πŸ”₯ Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster