د آلمان د پوهنتونونو د څیړونکو یوه ډله
د ډرایور زنګ نسخه په C ژبه کې د حوالې ډرایور ته په فعالیت کې خورا نږدې و. د 32 کڅوړو بلاکونو په ورته وخت کې لیږلو سره د بار لاندې ، د زنګ چلونکی یو څه شاته و ، مګر په هر بلاک کې له 32 څخه ډیر کڅوړو سره ازموینې کې ، سرعت په عملي ډول د C ډرایور څخه توپیر نه درلود او د 28 ملیون پروسس کولو په کچه یې فعالیت ښودلی. د Xeon CPU E3-1230 v2 3.3 GHz سره په سرور کې په هر ثانیه کې کڅوړې.
د فعالیت په شرایطو کې راتلونکی ځای په Go او C# ژبو کې د چلوونکو لخوا نیول شوی و، کوم چې خورا نږدې پایلې ښودلې (د Go ډرایور تر 16 پاکټونو پورې په ازموینو کې وګټل، او د 16 څخه ډیرو کڅوړو سره په ازموینو کې یو څه له لاسه ورکول پیل کړل. په یوه بلاک کې). په هر بلاک کې د 256 پاکټونو سره، د C# ډرایور لوړ فعالیت په هره ثانیه کې نږدې 28 ملیون پاکټونه وو، او د Go ډرایور نږدې 25 ملیون پاکټونه په هر ثانیه کې و.
بل، د کافي نږدې پایلو سره، د دې لپاره چلوونکي وو
جاوا، OCaml او هاسکل، کوم چې دمخه په پام کې نیول شوي انتخابونو څخه وروسته پاتې وو او نشي کولی په هر ثانیه کې 12 ملیون پاکټونه بریالي کړي. سویفټ او جاواسکریپټ ډرایورانو حتی ډیر ځنډ وښوده ، د دې وړتیا لري چې په هره ثانیه کې د 5 ملیون پاکټونو په کچه جریانونه پروسس کړي.
لوړ رتبه د Python ډرایور لخوا بشپړه شوې، کوم چې په هره ثانیه کې یوازې 0.14 ملیون پاکټونه پروسس کولو توان درلود. د Python تطبیق د JIT پرته او پرته له کوم ځانګړي اصلاح کولو څخه د ژباړونکو سرعت ارزولو لپاره کارول شوی و (کوډ د CPython 3.7 په کارولو سره اجرا شوی و او د PyPy سره مطابقت نه درلود، مګر دا یادونه وشوه چې د ډیټا ذخیره کولو جوړښتونو اصلاح کولی شي شاوخوا 10 ځله فعالیت ښه کړي. ).
سربیره پردې، د ځنډولو ازموینې ترسره شوې ترڅو د بفرینګ اغیزې او د کثافاتو راټولونکي اغیز وښیې. ازموینې د دقیق وخت په پرتله د هر پیکټ له لیږلو وروسته ځنډ اندازه کړې. مشران لا تر اوسه د C او Rust چلوونکي وو، چې پایلې یې په هر ثانیه کې د 1 ملیون پاکټونو جریان (نږدې 20 µs) لپاره په عملي توګه د توپیر وړ ندي. د Go ډرایور ښه فعالیت وکړ، یوازې د مشرانو څخه یو څه شاته و او د 20 µs په کچه پاتې شو. د C# ډرایور نږدې 50 µs ځنډ وښود.
ترټولو اوږد ځنډ د جاواسکریپټ او جاوا ډرایورانو لخوا ښودل شوی (له 300 µs څخه ډیر ځنډونه).
دا څیړنه د C په پرتله د لوړې کچې ژبو کې د چلوونکو او عملیاتي سیسټم اجزاو رامینځته کولو احتمال ارزولو لپاره ترسره شوې. اوس مهال، په لینوکس کې د حافظې له 39 څخه 40 ستونزې د چلوونکو پورې اړه لري، نو د ډیرې خوندي ژبې کارولو مسلې او د ډریورانو د کرنل څخه بهر او د کاروونکي ځای ته لیږدول.
د کار په جریان کې، دا پایله وشوه چې د زنګ ژبه د موټر چلوونکي پراختیا لپاره غوره نوماند دی. د زنګ ظرفیتونه د C ډرایورانو په پرتله د نږدې 2٪ څخه تر 10٪ پورې د فعالیت ضایع کیدو په قیمت کې د ټیټ کچې حافظې مدیریت پورې اړوند ستونزې له مینځه وړي. Go او C# هم په داسې شرایطو کې د سیسټم اجزاو رامینځته کولو لپاره مناسب ګڼل کیږي چیرې چې د کثافاتو راټولولو له امله د فرعي ملی ثانوي ځنډ د منلو وړ وي.
سرچینه: opennet.ru