Skip to content
Menu
Saayarelo
Saayarelo

Ruby 3 giver parallel udførelse

Posted on januar 7, 2022

Ruby 3.0.0, en opgradering af det elskede dynamiske open source-sprog, kom som en produktionsudgave juledag. Højdepunkterne i den nye version omfatter parallel udførelse og typebeskrivelsesfunktioner.

Parallel udførelse kommer i form af en eksperimentel funktion kaldet “Ractor”, som er en Actor-model-lignende samtidighedsabstraktion, der har til formål at give parallel udførelse uden problemer med trådsikkerhed. Udviklere kan lave flere ractors og køre dem parallelt. Disse parallelle programmer kan gøres trådsikre, fordi ractors ikke kan dele normale objekter. Kommunikation mellem ractors understøttes af message-passing. For at begrænse deling af objekter indfører Ractor imidlertid begrænsninger i Rubys syntaks.

Ruby 3.0.0.0 introducerer også RBS, der er beskrevet som et sprog til at beskrive typerne af Ruby-programmer. Ruby 3.0.0.0 leveres med rbs gem’en, som gør det muligt at analysere og behandle typedefinitioner skrevet i RBS. Typecheckere, herunder typeprofiler og andre værktøjer, der understøtter RBS, vil forstå Ruby-programmer bedre med RBS-definitioner.

RBS er beregnet til at understøtte almindeligt forekommende mønstre i Ruby-programmer. Der kan skrives avancerede typer, herunder unionstyper, overbelastning af metoder og generiske typer. Duck typing med interfacetyper understøttes også.

Ud over Ractor og RBS tilbyder Ruby 3.0.0 et væld af andre muligheder:

  • Fiber#scheduler, til at opsnappe blokerende operationer. Kapaciteten, der tidligere blev identificeret som Thread#scheduler, giver mulighed for letvægts-konkurrence uden at ændre eksisterende kode.
  • Memory view, en anden eksperimentel funktion, er et C-API-sæt til at udveksle et råt hukommelsesområde, f.eks. et numerisk array eller et bitmap-billede, mellem udvidelsesbiblioteker. Disse biblioteker kan også dele metadataene for hukommelsesområdet, der består af formen, elementformen osv.
  • Forbedret ydeevne i Ruby MJIT-kompileren (Method-based Just In Time).
  • Separation af nøgleordsargumenter fra andre argumenter.
  • Hash#except indbygget.
  • En højrevendt tildelingsangivelse.
  • En endeløs metodefinition.
  • Indførelse af find-mønster.

Udviklere kan downloade Ruby 3.0.0.0 fra ruby-lang.org. Ruby 3.0.0.0 blev afsløret som et preview den 25. september 2020. Dette blev efterfulgt af et efterfølgende preview den 8. december og en release candidate den 20. december.

Skriv et svar Annuller svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Seneste indlæg

  • Hvad gør labyrintfisk anderledes?
  • Systemiske kortikosteroider er hyppigt ordineret til psoriasis
  • 5 spørgsmål med … Melissa McGurren | RSN
  • Bibelens bøger i Det Nye Testamente
  • Tilapia Almondine
  • Typer af mandehår: Hvordan man vedligeholder + 12 Styling Idéer
  • 15 citater og slogans om sms’er og kørsel, der minder dig om at holde dig fra telefonen
  • 101 bedste billedtekster til Instagram
  • Tandpleje
  • Hvad er sneskimmel? (og hvordan man slipper af med det)

Arkiver

  • februar 2022
  • januar 2022
  • december 2021
  • november 2021
  • oktober 2021
  • Deutsch
  • Nederlands
  • Svenska
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
©2022 Saayarelo | WordPress Theme: EcoCoded