Rust 1.76 Chirongwa Mutauro Kuburitswa

Mutauro wehurongwa hwese-chinangwa Rust 1.76, wakavambwa neMozilla purojekiti asi ikozvino wakagadziridzwa pasi perubatsiro rwesangano rakazvimirira rerust Foundation, raburitswa. Mutauro unotarisana nekuchengetedza ndangariro uye unopa nzira dzekuwana yakakwirira basa parallelism uchidzivirira kushandiswa kwemarara uye nguva yekumhanya (nguva yekumhanya inoderedzwa kusvika yekutanga yekutanga uye kugadzirisa raibhurari yakajairwa).

Rust's memory yekubata nzira dzinochengetedza mugadziri kubva mukukanganisa kana achibata anonongedzera uye kudzivirira kubva kumatambudziko anomuka nekuda kweakadzika-level ndangariro kubata, sekuwana nzvimbo yekurangarira mushure mekunge yasunungurwa, kudzoreredza null pointer, buffer overruns, nezvimwe. Kugovera maraibhurari, kupa kuvaka uye kugadzirisa zvinotsamira, purojekiti inovandudza Cargo package maneja. Iyo crates.io repository inotsigirwa kuitisa maraibhurari.

Kuchengetedzwa kwendangariro kunopihwa muRust panguva yekuunganidza kuburikidza nekutariswa kwekutarisa, kuchengeta track yemuridzi wechinhu, kuchengeta track yehupenyu hwechinhu (scopes), uye kuongorora iko kurongeka kwekuwana ndangariro panguva yekuita kodhi. Ngura inopawo dziviriro kubva pahuwandu hwekufashukira, inoda kusungirirwa kwekutanga kwemhando dzakasiyana usati washandiswa, inobata zvikanganiso zviri nani muraibhurari yakajairwa, inoshandisa iyo pfungwa yezvisingachinjiki mareferensi uye zvinosiyana nekusarudzika, inopa yakasimba static typing kuderedza zvikanganiso zvine musoro.

Zvitsva zvikuru:

  • Chikamu chakasiyana chakawedzerwa kune zvinyorwa zvinotsanangura kuenderana kwemhando dzakasiyana dzekupokana uye mhando dzekudzoka kwemabasa padanho reABI. Kuenzaniswa neshanduro dzakapfuura, kuenderana kweABI kwave kuvimbiswa kune "char" uye "u32" mhando, dzine saizi dzakafanana uye kurongeka.
  • Pamusoro pekufona kwakambowanikwa "chero ::type_name:: ()", iyo inodzosa tsananguro yetambo yemhando yakatsanangurwa mu "T" parameter, yawedzerwa ne "type_name_of_val(&T)" basa, iro rinokutendera kuti uwane ruzivo rwemhando zvichienderana nechero referensi isina kutaurwa. fn get_iter() -> impl Iterator. { [1, 2, 3].into_iter() } fn chikuru() {rega iter = get_iter(); rega iter_name = std::chero::type_name_of_val(&iter); let sum: i32 = iter.sum(); println!("Huwandu hwe `{iter_name}` i{sum}."); } Zvakabuda ndezvekuti: Huwandu hwe `core::array::iter::IntoIter `ndi6.
  • Chikamu chitsva cheAPI chakaendeswa kuchikamu cheyakagadzikana, kusanganisira nzira uye mashandisirwo ehunhu zvakadzikamiswa:
    • Arc::inwrap_or_clone
    • Rc::inwrap_or_clone
    • Mhedzisiro::ongorora
    • Mhedzisiro::inspect_err
    • Sarudzo::ongorora
    • type_name_of_val
    • std::hash::{DefaultHasher, RandomState}
    • ptr::{kubva_ref, kubva_mut}
    • ptr::addr_eq
  • Rutsigiro rweChikamu chechitatu rwakashandiswa kune {x86_64,i686}-win7-windows-msvc, aarch64-apple-wachos, arm64e-apple-ios, uye arm64e-apple-darwin mapuratifomu. Level 3 inopa rubatsiro rwekutanga, asi pasina otomatiki kuyedzwa, zviri pamutemo kuvaka kuburitswa, kana kusimbisa kuvaka.

Pamusoro pezvo, ratidziro yeyeyedzo scx_rustland basa scheduler, yakanyorwa muRust uye inoitwa munzvimbo yemushandisi, yakakosha. Basa rekuronga logic rinofambiswa kubva kukernel kuenda kunzvimbo yemushandisi uchishandisa yakarongwa-ext toolkit, inoshandisa BPF. Iyo scheduler inogadziridzwa kukoshesa mabasa anodyidzana pamusoro peCPU-yakanyanya mabasa. Semuenzaniso, muyedzo yekumhanyisa application yemutambo uchivaka kernel, iyo scx_rustland scheduler yakawana yepamusoro FPS mumutambo kupfuura yakajairwa EEVDF scheduler.

Source: opennet.ru

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva 🔥 Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster