یہ لمبی شکل کا گہرا غوطہ ہے۔ تیز تر، سکم پڑھنے کے قابل ورژن کے لیے، دیکھیں ساتھی بلاگ پوسٹ.

1. تعارف: عادت کے ڈھیر بمقابلہ حقیقی کام کا بوجھ
بالغ تنظیموں میں ٹیکنالوجی کے انتخاب شاذ و نادر ہی ناکام ہوتے ہیں کیونکہ کوئی بھی بینچ مارک بلاگ پوسٹ نہیں پڑھتا ہے۔ وہ ناکام ہو جاتے ہیں کیونکہ عمل انتخاب کے لیے کمزور ہے: ایک بلند آواز سے سینئر انجینئر کی ترجیح، ایک ہی زبان سے بھری ایک ہائرنگ پائپ لائن، یا کانفرنس میں ایک ہی متاثر کن ڈیمو۔ دریں اثنا پروڈکٹ میں تاخیر سے متعلق حساس APIs، بیچ مصالحت، NGINX میں کنارے کی تصدیق، اندرونی CLIs، اور کبھی کبھار سرور لیس اسپائک کو ملایا جاتا ہے۔ ایک رن ٹائم ان تمام شکلوں کے لیے بہترین نہیں ہو سکتا۔
یہ مضمون وضاحت کرتا ہے۔ پولی گلوٹ بینچ مارکس - ایک لائیو موازنہ ڈیش بورڈ اور اوپن ورک فلو-مثالیں/بینچ مارکس اس کے پیچھے استعمال - ایک کے طور پر فیصلے کا فریم ورک، ایک فین بوائے لیڈر بورڈ نہیں۔ مقصد وہ ثبوت ہے جسے آپ آرکیٹیکچر کے فیصلے کے ریکارڈ (ADR) کے ساتھ منسلک کر سکتے ہیں: وہی اختتامی نقطہ، وہی لوڈ جنریٹر، ایک ہی کنٹینر لے آؤٹ، متعدد زبانیں۔
میں نثر میں تھرو پٹ نمبر ایجاد نہیں کروں گا۔ جب آپ ہارنس چلاتے ہیں، تو ڈیش بورڈ اس ہارڈ ویئر اور ڈوکر سیٹ اپ کے لیے ناپے گئے ریق/س اور لیٹینسی پرسنٹائل دکھاتا ہے۔ یہاں کسی بھی جامد درجہ بندی کو ہارنس کے ٹیسٹ فیملیز اور ڈیش بورڈ کی بلٹ ان فیصلے کی کاپی کے ساتھ منسلک معیار کے نمونوں کے طور پر سمجھیں۔
2. پولی گلوٹ بینچ مارکس کیا ہے؟
پولی گلوٹ بینچ مارکس پر میزبانی کی جاتی ہے۔ polyglot-benchmarks.fictionally.org (ورک فلو مثالوں کے ماحولیاتی نظام میں خیالی طور پر برانڈڈ انفراسٹرکچر)۔ لینڈنگ کی سرخی کا موازنہ:
- NGINX njs — اسٹاک NGINX کے اندر جاوا اسکرپٹ ماڈیولز
- OpenResty Lua - اوپن ریسٹی کے کنارے پر Lua
- Python FastAPI - Uvicorn ASGI ایپ
- نیٹ/http پر جائیں۔ - معیاری لائبریری سرور
- Rust Actix-web - Actix پر async HTTP
- بن - مقامی HTTP سرور کے ساتھ جاوا اسکرپٹ رن ٹائم
- Java (Javalin / Jetty) Jetty پر ہلکا پھلکا JVM HTTP
- Kotlin (Ktor / Netty) - Netty پر کورٹین کے موافق JVM HTTP
لائیو ہیڈ لائن ایک ہے۔ 8-زبان موازنہ: این جے ایس بمقابلہ لوا بمقابلہ ازگر بمقابلہ گو بمقابلہ زنگ بمقابلہ بن بمقابلہ جاوا بمقابلہ Kotlin. ذیلی عنوان ارادے کو فریم کرتا ہے: کارکردگی برائے طویل پولنگ / چیٹ / قطار / API کام کا بوجھ — کنکشن-ہیوی، JSON-ہیوی، اور روٹنگ-ہیوی راستے ایک واحد "ہیلو ورلڈ" رتھ ریس کے بجائے۔ JVM دکانوں کو آخر کار ایک الگ "انٹرپرائز" کہانی کے بجائے Go/Rust/Bun جیسی منصفانہ سطح ملتی ہے۔
2.1 ڈیش بورڈ کیا دکھاتا ہے۔
جب ایک رن آگے بڑھتا ہے، UI پولز /data/results.json ہر دو سیکنڈ اور رینڈر:
- درخواستیں/سیکنڈ (تھرو پٹ) — سے جمع
wrkفی زبان فی ٹیسٹ - اوسط تاخیر اور P99 ٹیل لیٹنسی — wrk کے لیٹنسی ماڈل سے ملی سیکنڈ میں
- TTFB (پہلے بائٹ کا وقت) — wrk کے ساتھ ساتھ curl ٹائمنگ JSON سے
- خلاصہ ٹیبل — بہترین سیل پر ★ مارکر کے ساتھ فی ٹیسٹ جیتنے والے
- تفصیلی ٹیسٹ کارڈز - بار چارٹس اور میٹرک ٹیبلز (P50, P90, P99.9, غلطیاں)
- تاخیر پرسینٹائل تقسیم - تمام ٹیسٹوں میں اوسط
- فیصلہ - آپ کے استعمال کے معاملے کے لیے بہترین - بیانیہ ایک بار جب حیثیت ہو جائے۔
complete
وہ ڈھانچہ جان بوجھ کر ARB کے موافق ہے: سلائیڈز کے لیے چارٹ، اسپریڈ شیٹس کے لیے میزیں، ADR کے رسک سیکشن کے لیے بیانیہ۔
3. ورک فلو-مثالوں کا استعمال
قابل تولید ہر چیز کے تحت رہتی ہے۔ benchmarks/ میں ورک فلو کی مثالیں ذخیرہ اعلیٰ سطحی ترتیب:
benchmarks/
bench.sh # orchestrates tests, writes results.json
wrk_json.lua # wrk done() → JSON summary (RPS, percentiles)
docker-compose.yml # eight app services + dashboard + bench runner
njs/ # NGINX + njs module
lua/ # OpenResty nginx.conf
python/ # FastAPI + Dockerfile
golang/ # net/http main.go
rust/ # Actix-web + Cargo
bun/ # Bun server.ts
java/ # Javalin on Jetty
kotlin/ # Ktor on Netty
dashboard/ # static index.html + nginx.conf
3.1 ڈوکر کمپوز ٹوپولوجی
docker-compose.yml مشترکہ نیٹ ورک پر الگ تھلگ خدمات کی وضاحت کرتا ہے:
nginx-njs- پورٹ 8081، سے تشکیلات./njsopenresty-lua- پورٹ 8082python-fastapi— پورٹ 8084، سے بنایا گیا ہے۔./pythongo-server- پورٹ 8085rust-actix- پورٹ 8086bun-server- پورٹ 8087java-server— پورٹ 8088، Javalin / Jetty سے./javakotlin-server— پورٹ 8089، Ktor / Netty سے./kotlindashboard- پورٹ 8083، ایچ ٹی ایم ایل کی خدمت کرتا ہے اور ماؤنٹ کرتا ہے۔resultsحجم پر/databench- الپائن کنٹینر جو انسٹال ہوتا ہے۔curl,wrk,jq، انحصار کا انتظار کرتا ہے، چلتا ہے۔bench.sh
بینچ رنر شیئر کرتا ہے۔ results ڈیش بورڈ کے ساتھ والیوم تاکہ نتائج دستی کاپی کے بغیر لائیو ظاہر ہوں۔
3.2 bench.sh طریقہ کار
شیل ڈرائیور صاف گوئی کے اصولوں کو واضح طور پر انکوڈ کرتا ہے:
- دورانیہ:
10sفی اینڈ پوائنٹ فی زبان - تھریڈز: 4
- رابطے: 100 ہم آہنگ
- وارم اپ: 50 راؤنڈ مارے۔
/helloٹائم ٹیسٹ سے پہلے ہر سرور پر - فی سرور: curl ٹائمنگ JSON (dns, connect, ttfb, total) plus wrk with
wrk_json.lua
اسکرپٹ میں سات ٹیسٹ پائپ سے الگ کیے گئے ہیں:
| ID | نام | ارادہ | اختتامی نقطہ |
|---|---|---|---|
| 1 | سادہ متن | بیس لائن - کم سے کم ردعمل، فریم ورک اوور ہیڈ | /hello |
| 2 | JSON سیریلائزیشن | 100 آئٹم JSON سرنی بنائیں اور سیریلائز کریں۔ | /json |
| 3 | CPU-Bound (fib 30) | تکراری فبونیکی (30) - خالص CPU | /cpu?n=30 |
| 4 | سٹرنگ ہیرا پھیری | بنائیں، تقسیم کریں، بڑے، 1000 حصوں میں دوبارہ شامل ہوں۔ | /string |
| 5 | معائنہ کی درخواست کریں۔ | ہیڈر، طریقہ، آرگس → JSON | /request_info?foo=bar&baz=123 |
| 6 | Subrequest + Transform | اندرونی ذیلی درخواست، JSON کو پارس کریں، ٹرانسفارم کریں۔ | /subrequest |
| 7 | روٹنگ منطق | استفسار کے پیرامز پر مشروط روٹنگ | /route?action=greet&name=bench |
ہر زبان ایک ہی راستے کی سطح کو نافذ کرتی ہے (دیکھیں۔ golang/main.go, python/main.py, java/, kotlin/, NGINX configs، وغیرہ) اس لیے اختلافات رن ٹائم اور فریم ورک کی عکاسی کرتے ہیں، نہ کہ مماثل تفصیلات۔
4. "پولی گلوٹ" کیوں اہمیت رکھتا ہے (جنونیت کے بغیر)
پولی گلوٹ فن تعمیر کا مطلب یہ نہیں ہے کہ ہر انجینئر آٹھ زبانیں سیکھتا ہے۔ اس کا مطلب ہے۔ پابند سیاق و سباق ایک رن ٹائم حاصل کریں جو فٹ بیٹھتا ہے:
- کنارے کا طیارہ — auth، شرح کی حد، روٹنگ: NGINX کے اندر Lua یا njs جو آپ پہلے ہی چلا رہے ہیں
- کور API طیارہ - SLOs کے ساتھ کاروباری منطق: Go or Rust
- جے وی ایم طیارہ - موجودہ بہار/جکارتہ اسٹیٹس، مشترکہ لائبریریاں، ملازمت کی گہرائی: Java (Javalin) یا Kotlin (Ktor)
- ڈیٹا ہوائی جہاز - ای ٹی ایل، نوٹ بک، ایم ایل گلو: ازگر
- ریئل ٹائم جے ایس طیارہ — WebSockets، فرنٹ اینڈ کے ساتھ مشترکہ اقسام: Bun یا Node جہاں رفتار جیت جاتی ہے۔
یکساں اسٹیک HR اور حصولی کو بہتر بناتے ہیں۔ پولی گلوٹ بینچ مارکس کو بہتر بناتے ہیں۔ کام کے بوجھ کے مطابق میز پر قابل پیمائش تجارت کے ساتھ۔
5. ابعاد جو اہمیت رکھتی ہے۔
Raw req/s وہ میٹرک ہے جو Slack پر تیز ترین سفر کرتا ہے۔ غلط پڑھنا بھی سب سے آسان ہے۔ ایک کثیر کالم روبرک استعمال کریں:
| کسوٹی | غلبہ حاصل ہوتا ہے جب… | ہارنس سگنل |
|---|---|---|
| p50 / p99 تاخیر | صارف کا سامنا APIs، چیٹ، طویل پول | wrk لیٹنسی پرسنٹائلز؛ ڈیش بورڈ P99 چارٹ |
| تھرو پٹ (RPS) | ہائی فین آؤٹ گیٹ وے، بیچ ایگریگیٹرز | wrk RPS؛ خلاصہ فاتح کالم |
| میموری فی کنکشن | ہزاروں بیکار ویب ساکٹس | کوالٹیٹو + پروڈکشن پروفائلنگ (مکمل طور پر استعمال میں نہیں) |
| ٹی ٹی ایف بی | CDN مس، کولڈ پاتھ، موبائل نیٹ ورکس | curl time_starttransfer نتائج میں JSON |
| LOC / پیچیدگی | اسٹارٹ اپس، ریگولیٹڈ تبدیلی کنٹرول | فولڈرز میں عمل درآمد کا موازنہ کریں۔ |
| تعمیر اور CI وقت | بار بار تعیناتی، بہت سی خدمات | ڈوکر فی زبان پروفائلز بنائیں |
| آپریشن کا بوجھ | چھوٹی پلیٹ فارم ٹیم | موجودہ NGINX مہارتیں → Lua/njs؛ باقی کنٹینرز |
| ہوسٹنگ لاگت | ہمیشہ آن بمقابلہ پیمانے سے صفر | میموری سے ماخوذ + CPU انڈر لوڈ (پروڈکشن) |
6. فیصلہ میٹرکس
ذیل میں دیا گیا خاکہ وہ معیار کا نقشہ ہے جسے ہم جائزوں میں استعمال کرتے ہیں — مثالی رہنما، آپ کی کٹ پر ہارنس چلانے کا متبادل نہیں۔

اسے پہلے قطار میں پڑھیں: اپنے کام کے بوجھ کی شکل منتخب کریں، پھر وزن والے کالم۔ اگر دو معیارات میں متصادم ہے (مثال کے طور پر بہترین RPS بمقابلہ سب سے کم LOC)، تو وہ تناؤ ADR بحث کے قابل ہے۔
7. کیس پیٹرن (مثال کے طور پر لیبلنگ)
درج ذیل نقشے خاندانوں کو آرکیٹیکچرل انتخاب کے لیے استعمال کرتے ہیں۔ آپ کی مشین پر لیڈرز ایک رن کے بعد ڈیش بورڈ پر نمودار ہوتے ہیں — اس سیکشن کو فکسڈ سکور نہ سمجھیں۔
7.1 API تاخیر سے حساس (ٹیسٹ 1–2، 5–7)
JSON APIs اور روٹنگ-ہیوی ہینڈلرز ٹیسٹ 2، 5 اور 7 کا آئینہ دار ہیں۔ مرتب کردہ async رن ٹائمز (Rust Actix, Go) عام طور پر مصنوعی HTTP بینچ مارکس کی اس کلاس میں تھرو پٹ اور ٹیل لیٹنسی پر لیڈ کرتے ہیں۔ بن اکثر JSON-بھاری راستوں پر JS ergonomics کے ساتھ قریب بیٹھتا ہے۔ Java (Javalin) اور Kotlin (Ktor) JVM ٹیموں کو ان ہی راستوں پر ان لیڈروں کے خلاف منصفانہ پڑھنے کا موقع دیں - مفید ہے جب سوال "ہلکے اسٹیک کے ساتھ JVM پر رہیں" بمقابلہ "Go/Rust میں دوبارہ لکھیں۔" Python FastAPI ترقی کی رفتار کے لیے خام RPS کی تجارت کرتا ہے — ڈیش بورڈ کا فیصلہ اسے واضح طور پر بتاتا ہے۔
7.2 CPU پابند مائیکرو ورک (ٹیسٹ 3)
Fibonacci(30) I/O کے بغیر CPU کو الگ کرتا ہے۔ زنگ کی توقع کریں اور چمک جائیں؛ تشریح شدہ اسٹیک اوور ہیڈ کی ادائیگی؛ JVM JIT وارم اپ کے بعد زیادہ مضبوط نظر آسکتی ہے اس سے کہ ایک کولڈ 10s ونڈو کا مطلب ہے - اگر یہ آپ کا حقیقی پروفائل ہے تو مدت میں اضافہ کریں۔ اگر آپ کی حقیقی سروس I/O پابند ہے، تو اس قطار کو زیادہ وزن نہ دیں - یہ کمپیوٹ ہیوی مڈل ویئر کے لیے ایک تناؤ کا امتحان ہے، عام CRUD نہیں۔
7.3 ایج ٹرانسفارم (ٹیسٹ 6–7، NGINX مختلف حالتیں)
Subrequest اور روٹنگ ٹیسٹ کہاں ہیں۔ OpenResty Lua اور NGINX njs تعلق: صفر اضافی ہاپ، مشترکہ ورکر میموری، آپریشنز ٹیمیں پہلے سے ہی NGINX کا انتظام کرتی ہیں۔ ہارنس کے فیصلے میں بنیادی چیٹ/قطار کے بیک اینڈز اور کنارے پر Lua/njs کے لیے Go/Rust کی سفارش کی گئی ہے — ایک سمجھدار تقسیم بہت سے ادارے پہلے سے ہی غیر رسمی طور پر چل رہے ہیں۔
7.4 بیچ ETL اور ڈیٹا پائپ لائن
HTTP استعمال اسپارک یا گودام کے بوجھ کی تقلید نہیں کرتا ہے۔ بیچ کے لیے، ٹیمیں عام طور پر تھرو پٹ کے لیے ازگر کے ماحولیاتی نظام اور آرکیسٹریشن (ایئر فلو، ڈیگسٹر) یا گو ورکرز کو ترجیح دیتی ہیں۔ کے لیے پولی گلوٹ بینچ مارکس کا استعمال کریں۔ API سطحیں اور کنٹرول طیارے وہ ملازمتیں سامنے آتی ہیں، بیچ انجن کے لیے نہیں۔
7.5 فوری اندرونی ٹول
کم QPS اور اعلی تبدیلی کی شرح کے ساتھ اندرونی منتظم APIs: Python یا Bun/Node اکثر رفتار اور ملازمت پر جیت جاتے ہیں۔ یہ یقینی بنانے کے لیے کہ اوور ہیڈ قابل قبول ہے ٹیسٹ 2 (JSON) اور ٹیسٹ 5 (معائنہ) چلائیں۔ اگر p99 100 کنکشنز سے کم ہو جاتا ہے، تو کسٹمر کا سامنا کرنے والے درجات پر ترقی دینے سے پہلے دوبارہ غور کریں۔
7.6 JVM اسٹیٹ (جاوا اور Kotlin)
بہت سے ادارے پہلے سے ہی مشترکہ لائبریریوں، تعمیل ٹولنگ، اور ہائرنگ ڈیپتھ کے لیے Java یا Kotlin چلاتے ہیں۔ ہارنس کا java-server (Jetty پر Javalin، پورٹ 8088) اور kotlin-server (Netty پر Ktor، پورٹ 8089) Go اور Rust کی طرح سات اختتامی نقطوں کو لاگو کریں، تاکہ آپ اس بات کا اندازہ لگا سکیں کہ آیا دوبارہ لکھنے سے پہلے دیئے گئے SLO کے لیے ہلکا JVM HTTP اسٹیک "کافی اچھا" ہے۔ Kotlin کو ترجیح دیں جب کورٹین طرز کی موافقت اور Kotlin-پہلی ٹیمیں اہمیت رکھتی ہیں۔ جاوا کو ترجیح دیں جب ارد گرد کی اسٹیٹ اور لائبریری گراف پہلے ہی جاوا مرکوز ہوں۔ لائیو ڈیش بورڈ قطاروں کا استعمال کریں - بہار بوٹ نمبروں کو Javalin/Ktor نمبروں کے برابر نہ سمجھیں۔
8. ورک فلو ڈایاگرام

دوبارہ پیدا کرنے والا لوپ: کام کے بوجھ کی وضاحت کریں → کمپوز ہارنس چلائیں → نتائج کو افسانوی ڈیش بورڈ پر شائع کریں (یا آپ کا اندرونی کلون)
9. اپنا موازنہ کیسے چلائیں۔
- کلون:
git clone https://github.com/bwalia/workflow-examples.git && cd workflow-examples/benchmarks - اسٹیک شروع کریں:
docker compose up --build- تمام زبان کی تصاویر بناتا ہے، پورٹ 8083 پر ڈیش بورڈ شروع کرتا ہے، خود بخود بینچ چلاتا ہے۔ - دیکھیں: کھلا
http://localhost:8083(یا عوامی سائٹ جب ہوسٹڈ رن فعال ہو)۔ - توسیع: ایک فولڈر شامل کریں
myruntime/, mirror endpoint paths, in a service رجسٹر کریں۔docker-compose.yml، سرور کو شامل کریں۔SERVERSمیںbench.sh. - اپنی مرضی کے مطابق بوجھ: ترمیم کریں
DURATION,THREADS,CONNECTIONSکے سب سے اوپرbench.sh- آپ کے ADR میں دستاویز کی تبدیلیاں۔ - پیداوار کے سائز کے ٹیسٹ شامل کریں: جیسے auth Middleware، ORM استفسار، 50KB پے لوڈ — تمام زبانوں میں برابری رکھیں۔
CI کے لیے، رات کے کام کے فلو، آرکائیو میں کمپوز چلائیں۔ results.json ایک نمونے کے طور پر، اور صرف آپ کی وضاحت کردہ ریگریشن تھریشولڈز پر ناکام رہیں (جیسے p99 +20% ہفتہ بہ ہفتہ ٹیسٹ 2)۔
10. مخالف پیٹرن
- صرف ٹیسٹ 1 کے فاتح کا انتخاب کرنا - سادہ متن کم سے کم ڈھیروں کے حق میں ہے۔ یہ JSON، CPU، اور روٹنگ کے درد کو نظر انداز کرتا ہے۔
- ٹیم کی مہارت کو نظر انداز کرنا - مینٹرز کے بغیر پیداوار میں زنگ لگنا واقعہ کے وقت مہنگا ہوتا ہے۔
- ہوسٹنگ لاگت کو نظر انداز کرنا - 2× RPS بیکار ہے اگر میموری فی پوڈ آپ کے بل کو دوگنا کردے۔
- تنظیم بھر میں ایک زبان کو لازمی قرار دینا - جائز کنارے بمقابلہ بنیادی تقسیم کو تباہ کرتا ہے۔
- پروڈکشن پروفائلنگ کو تبدیل کرنا — مصنوعی HTTP ≠ آپ کا ORM، کیشے، یا علاقائی تاخیر۔
- ہارڈ ویئر کے برعکس موازنہ کرنا — لیپ ٹاپ ڈوکر ≠ ننگی دھات ≠ K8s کی حدود؛ ADR میں کلاس کو نوٹ کریں۔
11. انجینئرنگ قیادت کے لیے فوائد
- اے آر بی پیک - ڈیش بورڈ اسکرین شاٹس + برآمد کریں۔
results.json+ ہیش تحریر کریں۔ - وینڈر غیر جانبدار ثبوت - کسی ایک کلاؤڈ یا فریم ورک وینڈر سے سیلز ڈیک نہیں۔
- آن بورڈنگ کی وضاحت - نئے ملازمین دیکھتے ہیں کہ *کیوں* سروس A Go ہے اور سروس B Python ہے۔
- خطرے میں کمی — دوبارہ لکھنے سے پہلے شیڈو سروس میں رنر اپ کو پائلٹ کریں۔
- FinOps گفتگو - ٹیل لیٹینسی کو آٹو اسکیلنگ اور میموری ہیڈ روم سے جوڑیں۔
- پلیٹ فارم روڈ میپ — NGINX مہارت کی سرمایہ کاری کا جواز پیش کریں بمقابلہ ایک اور K8s مائیکرو سروس۔
12. حدود
- مصنوعی کام کا بوجھ - سات HTTP ٹیسٹ کافکا صارفین، GPU جابز، یا پیچیدہ ORM گراف کی نمائندگی نہیں کر سکتے۔
- ڈوکر نیٹ ورکنگ - اوپر کا اضافہ کرتا ہے؛ مطلق نمبر ننگی دھات سے مختلف ہیں۔
- سنگل مشین کلاس - میزبانی کے نتائج اس بات کی عکاسی کرتے ہیں جو بھی ہارڈ ویئر افسانوی طور پر استعمال کرتا ہے۔ آپ کے نمبر مختلف ہوں گے۔
- کوئی مستقل پرت نہیں۔ - ڈیٹا بیس اور کیشے کے اثرات ڈیزائن کے لحاظ سے غائب ہیں۔
- مختصر دورانیہ - 10s فی ٹیسٹ GC توقف یا وارم اپ کلف کو ظاہر نہیں کر سکتا ہے۔ کشیدگی کی مہموں کے لئے توسیع.
مسلسل پروفائلنگ (ای بی پی ایف، اے پی ایم، سٹیجنگ کے خلاف لوڈ ٹیسٹ) کو پیداوار کے لیے سچائی کے ذریعہ کے طور پر رکھیں۔ پولی گلوٹ بینچ مارکس کو تنگ کرتا ہے۔ زبان اور فریم ورک تولیدی بنیادوں کے ساتھ بحث۔
13. نتیجہ
ڈیفالٹ اسٹیک تعصب آرام دہ ہے۔ یہ بھی ہے کہ کس طرح ٹیمیں کام کے لیے غلط رن ٹائم بھیجتی ہیں۔ پولی گلوٹ بینچ مارکس اور ورک فلو کی مثالیں ہارنس ٹرن "کونسی زبان جیتتی ہے؟" میں "کون سی زبان جیتتی ہے۔ کام کے بوجھ کی اس قطار کے لیے؟ - چارٹس کے ساتھ آپ کا ARB حوالہ دے سکتا ہے۔
ریپو کو فورک کریں، ان اینڈ پوائنٹس کو شامل کریں جو آپ کے گرم راستوں کی طرح نظر آتے ہیں، کمپوز چلائیں، اور نتائج کو اگلے آرکیٹیکچر فیصلے سے منسلک کریں۔ ساتھی ۔ بلاگ پوسٹ اشتراک کے لیے پانچ منٹ کا ورژن ہے۔ یہ مضمون حوالہ ہے.
کی طرف سے شائع Workstation (workstation.co.uk)۔ بینچ مارک ڈیش بورڈ پر میزبانی کی گئی۔ polyglot-benchmarks.fictionally.org افسانوی مثالوں کے ماحولیاتی نظام میں۔
اس مضمون کے لیے SEO سنیپ شاٹ
- SEO عنوان: پولی گلوٹ بینچ مارکس: کام کے لیے صحیح ٹول
- میٹا تفصیل: njs، Lua، Python، Go، Rust، Bun، Java، اور Kotlin کا ایک ہی HTTP ورک بوجھ پر موازنہ کریں۔ دوبارہ پیدا کرنے کے قابل کنٹرول، لائیو ڈیش بورڈ، آرکیٹیکٹس کے لیے فیصلہ میٹرکس۔
- بنیادی مطلوبہ الفاظ: پولی گلوٹ بینچ مارکس، زبان کا موازنہ، فن تعمیر کے فیصلے، ورک فلو کی مثالیں، کارکردگی کا بینچ مارک، رسٹ بمقابلہ گو، جاوا بمقابلہ Kotlin، FastAPI، Javalin، Ktor
- ٹویٹر / ایکس (280 حروف سے کم): پولی گلوٹ بینچ مارکس: njs، Lua، Python، Go، Rust، Bun، Java، Kotlin پر ایک ہی 7 HTTP ٹیسٹ — لائیو ڈیش بورڈ + ورک فلو-مثال کے استعمال۔ ایک بھی فاتح نہیں؛ فیصلے کا فریم ورک۔ #Rust #GoLang #Java #Kotlin #Bunjs #polyglot
- لنکڈ ان پوسٹ: ہم نے پولی گلوٹ بینچ مارکس پر ایک گہرا غوطہ شائع کیا — کس طرح عادت سے ایک تنظیمی اسٹیک کو چننا بند کیا جائے اور رن ٹائمز کو کام کے بوجھ سے ملانا شروع کیا جائے۔ آٹھ زبانیں (بشمول Java/Javalin اور Kotlin/Ktor)، سات موازنہ ٹیسٹ، Docker Compose + wrk، polyglot-benchmarks.fictionally.org پر براہ راست نتائج، github.com/bwalia/workflow-examples/tree/main/benchmarks پر ماخذ۔ فیصلہ میٹرکس، اینٹی پیٹرن، اور ADR رہنمائی پر مشتمل ہے۔ Workstation انجینئرنگ سے۔ #Rust #GoLang #Java #Kotlin #Bunjs #Lua #Python #njs #FastAPI #Javalin #Ktor #OpenResty #polyglot #benchmarks