( v | 2024. 01. 21., v – 13:58 )

Az IronRDP egy régi, FreeRDP-től független projekt, bár úgy látom mostanában kezdtek újra komolyabban foglalkozni vele. A FreeRDP kódja tiszta, jól szervezett, objektum orientált C kód, nem gondolom hogy a kód rendezettségi szintje komolyabb akadálya lenne annak hogy hatékony legyen. Pusztán a nyelv hatékonyságnak nincs különösebb jelentősége, ami miatt elméletileg lehet gyorsabb a Rust mint a C, az a strict aliasing és a generikus kódok inlineolhatósága, de egyikről sem gondolnám hogy látványos különbséghez vezetne. Ha van látványos különbség, az az implementált algoritmusok miatt lesz. A Rust kifejezőbb típusrendszere segít, hogy egy új algoritmust implementálj. A csomagkezelője pedig segít hogy a mások által implementált algoritmusokat a saját projektedben kipróbálj és használj.

scx-rustland esetében pedig a Rustnak ha bármi relevanciája van azon kívül hogy a fejlesztője Rustban akart dolgozni, az az eBPF támogatás, ami a Rustos ökoszisztémában egy már kitaposott út, tehát amikor van egy új ötleted és a karácsonyi szünetben össze akarsz dobni egy process schedulert, akkor könnyen meg tudod csinálni. Ha bármilyen komoly előnye van, az algoritmikus különbségből fakad, nem azért mert gyorsabb a kód, hiszen a gyári Rustos hashmap-et használja a taskokhoz anélkül hogy kicserélné az alapértelmezetten használt secure hash functiont egy gyors hashre.