Yon gwoup chèchè nan inivèsite Alman yo
Vèsyon an Rust nan chofè a te tounen trè pre nan pèfòmans nan chofè a referans nan lang C a. Anba yon chaj ak voye similtane nan blòk 32 pake, chofè a Rust te yon ti kras dèyè, men nan tès ki gen plis pase 32 pake pou chak blòk, vitès la te pratikman pa diferan de chofè a C ak demontre pèfòmans nan nivo a nan pwosesis 28 milyon dola. pake pa segonn sou yon sèvè ak yon CPU Xeon E3-1230 v2 3.3 GHz.
Pwochen nich la an tèm de pèfòmans te okipe pa chofè nan lang Go ak C #, ki te montre rezilta jistis pre (chofè Go a te genyen nan tès ak blòk ki rive jiska 16 pake, e li te kòmanse pèdi yon ti kras nan tès ki gen plis pase 16 pake. nan yon blòk). Avèk 256 pake pou chak blòk, pèfòmans pik chofè C# a te apeprè 28 milyon pake pa segonn, ak chofè Go a te apeprè 25 milyon pake pa segonn.
Apre sa, ak rezilta jistis fèmen, yo te chofè yo pou
Java, OCaml ak Haskell, ki te deja notables dèyè opsyon yo te konsidere anvan epi yo pa t 'kapab simonte 12 milyon pake yo pou chak dezyèm ba. Pilotè Swift ak JavaScript te montre yon lag menm pi gwo, yo te kapab trete kouran nan nivo 5 milyon pake pa segonn.
Chofè Python te konplete klasman an tèt la, ki te kapab trete sèlman 0.14 milyon pakè pa segonn. Yo te itilize aplikasyon Python pou evalye vitès entèprèt yo san JIT ak san optimize espesifik (yo te egzekite kòd la lè l sèvi avèk CPython 3.7 epi li pa t konpatib ak PyPy, men li te note ke optimize estrikti depo done yo te kapab amelyore pèfòmans apeprè 10 fwa. ).
Anplis de sa, tès latansi yo te fèt pou montre efikasite tanpon ak enpak pèseptè fatra a. Tès la te mezire latansi apre chofè a te voye chak pake konpare ak tan egzak li te voye. Lidè yo te toujou chofè C ak Rust, rezilta yo te pratikman endistenabl pou yon koule 1 milyon pake pa segonn (apeprè 20 µs). Chofè Go a te fè byen, li te sèlman yon ti kras dèyè lidè yo epi tou li rete nan nivo 20 µs. Chofè C# a te montre yon reta apeprè 50 µs.
Pi long reta yo te montre pa JavaScript ak Java chofè (latans ki gen plis pase 300 µs).
Etid la te fèt pou evalye posiblite pou devlope chofè ak konpozan sistèm opere nan lang ki pi wo pase C. Kounye a, 39 sou 40 pwoblèm memwa nan Linux gen rapò ak chofè yo, kidonk pwoblèm yo nan sèvi ak yon lang ki pi an sekirite ak deplase chofè yo soti nan nwayo a ak nan espas itilizatè.
Nan kou a nan travay la, li te konkli ke lang nan Rust se kandida ki pi bon pou devlopman chofè. Kapasite Rust elimine pwoblèm ki asosye ak jesyon memwa ki ba-nivo a pri apeprè 2% a 10% pèt pèfòmans konpare ak chofè C yo. Go ak C# yo konsidere tou apwopriye pou kreye eleman sistèm nan sitiyasyon kote latansi anba-milisgond ki te koze pa koleksyon fatra akseptab.
Sous: opennet.ru