Boka revaongorori kubva kumayunivhesiti eGerman
Iyo Rust vhezheni yemutyairi yakave pedyo zvakanyanya mukuita kune referensi mutyairi mumutauro weC. Pasi pemutoro nekutumira panguva imwe chete yezvivharo zvemapaketi makumi matatu nembiri, mutyairi weRust aive kumashure zvishoma, asi mukuedzwa aine anopfuura makumi matatu nemaviri mapaketi pabhuroka, kumhanya kwacho kwaisatombosiyana nemutyairi weC uye kwakaratidza kuita padanho rekugadzirisa 32 miriyoni. mapaketi pasekondi pane sevha ine Xeon CPU E32-28 v3 1230 GHz.
Iyo niche yakatevera maererano nekuita yaive yakagarwa nevatyairi mumitauro yeGo neC#, iyo yakaratidza mhedzisiro yepedyo (mutyairi weGo akahwina mumiyedzo nemabhuroka anosvika gumi nematanhatu emapaketi, ndokutanga kurasikirwa zvishoma mumiyedzo aine anopfuura gumi nematanhatu mapaketi. mubhuroko). Iine 16 mapaketi pablock, kuita kwepamusoro kwemutyairi weC# kwaisvika 16 miriyoni mapaketi pasekondi, uye mutyairi weGo angangoita 256 miriyoni mapaketi pasekondi.
Zvakazotevera, zvine maresults ari pedyo, aive madhiraivha e
Java, OCaml neHaskell, izvo zvanga zvatove kusara kumashure kwezvakambofungidzirwa sarudzo uye zvakatadza kukunda mamirioni gumi nemaviri mapaketi pasekondi imwe. Vatyairi veSwift neJavaScript vakaratidza kusakara kwakatokura, vachikwanisa kugadzirisa hova padanho remamiriyoni mashanu emapaketi pasekondi.
Nzvimbo yepamusoro yakapedzwa nemutyairi wePython, uyo akakwanisa kugadzirisa 0.14 mamiriyoni emapaketi pasekondi. Kushandiswa kwePython kwakashandiswa kuongorora kumhanya kwevaturikiri pasina JIT uye pasina kunyatsogadzirisa (code yakaitwa pachishandiswa CPython 3.7 uye yakanga isingaenderane nePyPy, asi zvinoonekwa kuti optimization yezvimiro zvekuchengetedza data inogona kuvandudza mashandiro nekanosvika gumi. )
Pamusoro pezvo, bvunzo dze latency dzakaitwa kuratidza kushanda kwebuffering uye kukanganisa kweanonhonga marara. Kuedzwa kwakayera latency mushure mekunge pakiti imwe neimwe yatumirwa nemutyairi zvichienzaniswa nenguva chaiyo yayakatumirwa. Vatungamiriri vakanga vachiri vatyairi veC uye Rust, migumisiro yacho yakanga isinganzwisisiki pakuyerera kwemamiriyoni emapakiti pasekondi (inenge 1 Β΅s). Mutyairi weGo akashanda zvakanaka, achingova kumashure zvishoma kwevatungamiriri uye achiramba ari pamwero we20 Β΅s. Mutyairi weC# airatidza kunonoka kweanosvika makumi mashanu Β΅s.
Kunonoka kunonoka kwakaratidzwa neJavaScript neJava driver (latencies yeanopfuura 300 Β΅s).
Chidzidzo ichi chakaitwa kuongorora mukana wekugadzira vatyairi uye masisitimu ekushandisa mumitauro yepamusoro-soro kupfuura C. Parizvino, makumi matatu nemapfumbamwe kubva pamakumi mana matambudziko ekurangarira muLinux ane hukama nevatyairi, saka nyaya dzekushandisa mutauro wakachengeteka uye kufambisa madhiraivha kunze kwekernel uye munzvimbo yemushandisi.
Mukati mebasa racho, zvakagumiswa kuti mutauro weRust ndiwo wakanakira kusimudzira mutyairi. Kugona kweRust kunobvisa matambudziko ane chekuita neakaderera-level memory manejimendi pamutengo weinosvika 2% kusvika 10% kurasikirwa kwekuita zvichienzaniswa nevatyairi veC. Enda uye C # inoonekwawo seyakakodzera kugadzira masisitimu zvikamu mumamiriro ezvinhu apo sub-millisecond latency inokonzerwa nekuunganidzwa kwemarara inogamuchirwa.
Source: opennet.ru