Rilascio di Tokio 1.13.0, piattaforma per la creazione di applicazioni asincrone in Rust

È stata rilasciata la versione 1.13.0 della piattaforma Tokio, progettata per la creazione di applicazioni ad alte prestazioni in Rust basate su architetture orientate agli eventi (Event-driven), che supportano il multithreading e l'elaborazione asincrona delle richieste di rete. Il progetto è scritto in Rust e distribuito con licenza MIT. Nella nuova versione si riscontra un ampliamento della documentazione, una serie di correzioni nel sottosistema di rete e nel sistema di sincronizzazione.

Tokio comprende i seguenti componenti:

  • Un pianificatore di input/output multithread, il cui compito è fornire risorse solo ai thread (nel contesto dell'esecuzione parallela) che soddisfano specifiche condizioni, il che consente di evitare condizioni di gara, spesso presenti nei programmi scritti in linguaggi senza gestione sicura della memoria e delle risorse;
  • Un backend per garantire la compatibilità con i meccanismi di multiplexing delle connessioni forniti da vari sistemi operativi, come epoll, kqueue e IOCP;
  • Tipi e binding con implementazione di socket TCP e UDP asincroni.
  • Strumenti per l'esecuzione di compiti in modo asincrono, inclusi primitivi di sincronizzazione, canali e timeout.
  • API per l'esecuzione di input/output asincrono, che copre socket TCP/UDP, operazioni sui file, gestione dei segnali e dei processi.

Gli sviluppatori segnalano caratteristiche del loro prodotto come alte prestazioni, comparabili alla velocità di funzionamento su "hardware nudo", ottima scalabilità e affidabilità, assicurata dal sistema di tipi e dal modello di parallelismo del linguaggio Rust.

Il repository conta oltre 500 partecipanti, tra cui rappresentanti di AWS, Azure, Comcast, Dropbox e Facebook. Tra le dipendenze di Tokio figurano prodotti come:

  • hyper: un'implementazione veloce e sicura di HTTP/1 e HTTP/2 per Rust;
  • warp: un framework leggero per web, focalizzato sulla massima velocità di esecuzione;
  • tracing: un framework per il tracciamento a livello di applicazione e diagnostica tenendo conto dell'asincronicità;
  • rdbc: una libreria per collegare database MySQL, Postgres e SQLite a prodotti scritti in Rust;
  • bytes: utilità per la gestione di byte, incluso buffer di byte efficienti.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster