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

È stata rilasciata la versione 1.13.0 della piattaforma Tokio, progettata per creare applicazioni ad alte prestazioni in Rust basate su un'architettura a eventi, supportando la multithreading e l'elaborazione asincrona delle richieste di rete. Il progetto è scritto in Rust e distribuito con licenza MIT. La nuova versione presenta un ampliamento della documentazione, una serie di correzioni nel sottosistema di rete e nel sistema di sincronizzazione.

Tokio include i seguenti componenti:

  • Uno scheduler multithread per input/output, il cui funzionamento consiste nel fornire risorse solo ai thread (nel contesto dell'esecuzione parallela) che soddisfano specifiche condizioni, evitando così condizioni di competizione, spesso riscontrabili in 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 in diversi 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 su file, e strumenti di gestione dei segnali e dei processi.

Gli sviluppatori evidenziano caratteristiche del loro prodotto come l'alta performance, paragonabile alla velocità di esecuzione su "hardware nudo", una scalabilità eccellente e l'affidabilità garantita 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, Tokio utilizza prodotti come:

  • hyper: implementazione rapida e sicura di HTTP/1 e HTTP/2 per Rust;
  • warp: un framework leggero per il server web., orientato a un'alta velocità di esecuzione;
  • tracing: framework per il tracciamento a livello di applicazione e diagnostica in considerazione dell'asincronicità;
  • rdbc: libreria per collegare database MySQL, Postgres e SQLite a prodotti sviluppati in Rust;
  • bytes: utility per la manipolazione dei byte, inclusi buffer di byte efficienti.

Fonte: opennet.ru

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