Група истраживача са немачких универзитета
Испоставило се да је Руст верзија драјвера по перформансама веома блиска референтном драјверу у језику Ц. Под оптерећењем са истовременим слањем блокова од 32 пакета, Руст драјвер је заостајао, али у тестовима са више од 32 пакета по блоку, брзина се практично није разликовала од Ц драјвера и показала је перформансе на нивоу обраде 28 милиона пакета у секунди на серверу са Ксеон ЦПУ Е3-1230 в2 3.3 ГХз.
Следећу нишу у погледу перформанси заузели су драјвери на језицима Го и Ц#, који су показали прилично блиске резултате (го драјвер је победио у тестовима са блоковима до 16 пакета, а почео је благо да губи у тестовима са више од 16 пакета у блоку). Са 256 пакета по блоку, вршне перформансе Ц# драјвера биле су приближно 28 милиона пакета у секунди, а Го драјвера приближно 25 милиона пакета у секунди.
Следећи, са прилично тесним резултатима, били су возачи за
Јава, ОЦамл и Хаскелл, који су већ приметно заостајали за претходно разматраним опцијама и нису могли да превазиђу 12 милиона пакета у секунди. Свифт и ЈаваСцрипт драјвери су показали још веће заостајање, будући да су могли да обрађују стреамове на нивоу од 5 милиона пакета у секунди.
Највишу позицију је завршио Питхон драјвер, који је могао да обради само 0.14 милиона пакета у секунди. Питхон имплементација је коришћена за процену брзине интерпретатора без ЈИТ-а и без специфичних оптимизација (код је извршен помоћу ЦПитхон 3.7 и није био компатибилан са ПиПи, али се примећује да би оптимизација структура за складиштење података могла да побољша перформансе за око 10 пута ).
Поред тога, спроведени су тестови кашњења да би се показала ефикасност баферовања и утицај сакупљача смећа. Тестирањем је измерено кашњење након што је сваки пакет прослеђен од стране драјвера у поређењу са тачним временом када је послан. Лидери су и даље били Ц и Руст драјвери, чији су резултати били практично неразлучиви за проток од 1 милион пакета у секунди (приближно 20 µс). Го возач се добро показао, заостајао је за водећим тек незнатно и такође се задржао на нивоу од 20 µс. Ц# драјвер је показао кашњење од приближно 50 µс.
Најдужа кашњења су показали ЈаваСцрипт и Јава драјвери (латенције веће од 300 µс).
Студија је спроведена да би се проценила могућност развоја драјвера и компоненти оперативног система на језицима вишег нивоа од Ц. Тренутно, 39 од 40 проблема са меморијом у Линуку је повезано са драјверима, тако да су проблеми коришћења безбеднијег језика и премештања драјвера из кернела у кориснички простор
У току рада је закључено да је Руст језик најбољи кандидат за развој драјвера. Руст-ове могућности елиминишу проблеме повезане са управљањем меморијом ниског нивоа по цени од приближно 2% до 10% губитка перформанси у поређењу са Ц драјверима. Го и Ц# се такође сматрају погодним за креирање системских компоненти у ситуацијама када је кашњење испод милисекунде узроковано сакупљањем смећа прихватљиво.
Извор: опеннет.ру