PRODसंप्रभु यूरोपीय BaaS मंचडैशबोर्ड खोलें →

इंजीनियरिंग · 9 मिनट पढ़ा

WebAssembly की ठंडी शुरुआत: बेंचमार्क क्या दिखाते हैं

Affane Daylami · Fondateur · 19 जून 2026

ब्लॉग पर वापस जाएँ

वर्तमान में कोई भी WebAssembly रनटाइम किसी तीसरे पक्ष द्वारा साझा, अलग-अलग और प्रतिलिपि प्रस्तुत करने योग्य प्रोटोकॉल के अनुसार मापा गया कोल्ड स्टार्ट आंकड़ा प्रकाशित नहीं करता है। वासटाइम, वासमर और वासमएज प्रत्येक क्विकबूट तर्क दिखाते हैं, लेकिन शायद ही कभी "बूट" शब्द की समान परिभाषा होती है। यह आलेख ढेर में एक और आंकड़ा नहीं जोड़ता है: यह बताता है कि ठंडी शुरुआत वास्तव में क्या मापती है, प्रकाशित आंकड़ों की तुलना क्यों नहीं की जाती है, और ऑराबेस वास्तव में कहां खड़ा है, जो अभी तक अपना स्वयं का बेंचमार्क प्रकाशित किए बिना उत्पादन में चल रहा है।

यह अंग्रेजी पाठ फ़्रेंच मूल से स्वचालित रूप से उत्पन्न हुआ था और अभी तक इसकी समीक्षा नहीं की गई है।
यह पृष्ठ स्वचालित रूप से अनुवादित किया गया था. अंग्रेजी संस्करण प्रामाणिक है.

यह हमारी बेंचमार्क पद्धतिकी तार्किक निरंतरता है, जिसे इस बार एक विशिष्ट मीट्रिक पर लागू किया गया है। हमारे एज फ़ंक्शंस की वास्तुकला के विवरण के लिए, ऑराबेस केरस्ट आर्किटेक्चर पर हमारा स्तंभ लेख देखें, या दो रनटाइम के बीच वास्तुशिल्प अंतर के लिए हमारी तुलना वासटाइम बनाम वासमर।

अनिवार्य है

एक WebAssembly कोल्ड स्टार्ट कई चरण जोड़ता है (लोड, कमिट, कंपाइल या लिंक, इंस्टेंटियेट, फर्स्ट कॉल) और दो आंकड़े जिनमें समान चरण शामिल नहीं हैं, तुलनीय नहीं हैं, भले ही वे एक ही इकाई प्रदर्शित करते हों। वासमर इंस्टाबूट को विषय पर प्रत्यक्ष विपणन प्रतिक्रिया के रूप में विपणन करता है, लेकिन इसके सार्वजनिक आंकड़ों को अलग-अलग कार्यप्रणाली के बिना यहां शामिल नहीं किया गया है। ऑराबेस अपने एज फ़ंक्शंस के लिए उत्पादन निर्भरता के रूप में wasmtime संस्करण 43 चलाता है (aura-functions/Cargo.tomlमें सत्यापित), लेकिन आज तक कोई प्रतिलिपि प्रस्तुत करने योग्य कोल्ड स्टार्ट बेंचमार्क प्रकाशित नहीं किया है। इस आलेख में कोई ऑराबेस आंकड़े नहीं दिए गए हैं: यह वह विधि है जो विषय है।

#
अवलोकन

WebAssembly की ठंडी शुरुआत एक बार फिर से एक विवादित विपणन तर्क क्यों बन गई है

ठंडी शुरुआत एक बार फिर वेबअसेंबली रनटाइम के बीच व्यावसायिक भेदभाव की धुरी बन गई है, न कि केवल अकादमिक शोध का विषय। वासमर इंस्टाबूट नामक सुविधा के साथ इसे एक स्पष्ट विक्रय बिंदु बनाता है, जिसे कोल्ड बूट समस्या के सीधे उत्तर के रूप में प्रस्तुत किया गया है।

यह रिफ्लेक्स बैकएंड बेंचमार्क पद्धतिपर हमारे लेख में पहले से ही प्रलेखित गतिशीलता की बिल्कुल याद दिलाता है: कई प्रतिस्पर्धी विक्रेता अपने स्वयं के उत्पाद पृष्ठ पर प्रदर्शन आंकड़े प्रदर्शित करते हैं, हमेशा उस प्रोटोकॉल को निर्दिष्ट किए बिना जो उन्हें उत्पन्न करता है। किसी विधि के बिना एक कोल्ड स्टार्ट का आंकड़ा बिना किसी विधि के विलंबता के आंकड़े से ज्यादा कुछ साबित नहीं करता है।

किसी भी अन्य बेंचमार्क के समान ही जाल

विपणन पृष्ठ पर प्रकाशित एक ठंडी शुरुआत का आंकड़ा, बिना सामग्री के, बिना कार्यभार के और माप के शुरुआती बिंदु और अंतिम बिंदु की स्पष्ट परिभाषा के बिना, एक नारे से अप्रभेद्य है। यह इस आलेख में उद्धृत सभी रनटाइम पर लागू होता है, जिसमें आंकड़ा जारी होने के दिन ऑराबेस भी शामिल है।

#
परिभाषा

ठंडी शुरुआत वास्तव में क्या मापती है, और परिभाषा सब कुछ क्यों बदल देती है

कोल्ड स्टार्ट एक एकल ऑपरेशन नहीं है: यह अलग-अलग चरणों का योग है, और जरूरी नहीं कि दो आपूर्तिकर्ता एक ही नाम के तहत समान चरणों को मापें।

लोड हो रहा है.wasm मॉड्यूल की पुनर्प्राप्ति: नेटवर्क, डिस्क, या पहले से ही मेमोरी में मौजूद
मान्यकरणनिष्पादन से पहले WebAssembly बाइटकोड संरचना की जाँच करना
संकलन या लिंक करनाजेआईटी ऑन द फ्लाई (क्रेनलिफ्ट, एलएलवीएम) या पहले से संकलित आर्टिफैक्ट (एओटी) को लिंक करना
प्रारंभरैखिक मेमोरी, तालिकाओं और ग्लोबल्स का आवंटन, संभावित प्रारंभ फ़ंक्शन का निष्पादन
पहला बुलावाअनुरोध की प्रोसेसिंग को कभी-कभी घोषित आंकड़ों में शामिल किया जाता है, कभी-कभी बाहर रखा जाता है

एक आंकड़ा जो केवल पहले से लोड किए गए और पहले से ही मेमोरी में संकलित मॉड्यूल की तात्कालिकता को गिनता है, यांत्रिक रूप से उस आंकड़े से बेहतर दिखेगा जिसमें नेटवर्क लोडिंग और संकलन शामिल है। इनमें से कोई भी अपने आप में गलत नहीं है: समस्या तब प्रकट होती है जब हम उनकी तुलना करते हैं, बिना यह निर्दिष्ट किए कि दोनों में से किसको मापा गया था।

#
अकादमिक अनुसंधान

अकादमिक साहित्य क्या दर्शाता है, और इसके आंकड़े एक-दूसरे से तुलना क्यों नहीं करते

हाल के वर्षों में arXiv पर प्रीप्रिंट के रूप में प्रकाशित अकादमिक कार्य ने विभिन्न रनटाइम पर WebAssembly मॉड्यूल के इंस्टेंटेशन समय को मापा है। इन कार्यों के बीच सामान्य बिंदु एक अभिसरण आंकड़ा नहीं है: यह परीक्षण किए गए रनटाइम, मॉड्यूल के आकार और उपयोग किए गए हार्डवेयर के आधार पर एक महत्वपूर्ण अंतर है।

हम स्वेच्छा से इस लेख में इन प्रकाशनों से लिए गए कोई सटीक आंकड़े शामिल नहीं करते हैं। लेखन के समय प्रत्येक पेपर की पद्धति की पूरी तरह से दोबारा जांच किए बिना, एक पृथक संख्या को पुनः प्रकाशित करने से यह आलेख प्रस्तुत की गई समस्या बिल्कुल उत्पन्न हो जाएगी: संदर्भ के बिना एक संख्या जो हमें यह जानने की अनुमति देगी कि यह वास्तव में क्या मापती है।

दूसरी ओर, यह भिन्नता जो सीखती है, वह सीधे तौर पर उपयोगी है: एक ठंडी शुरुआत दृढ़ता से माप के संदर्भ पर निर्भर करती है, ठीक उसी तरह जैसा कि हमारे सामान्य कार्यप्रणाली लेख (समान हार्डवेयर, समान क्षेत्र, सभी प्रणालियों की तुलना में समान कैश स्थिति) में वर्णित पर्यावरण समता के अनुशासन द्वारा याद किया जाता है।

#
रनटाइम परिदृश्य

वासटाइम, वासमर, वासमएज: विभिन्न संकलन प्राथमिकताएँ

इस बहस में सबसे अधिक उद्धृत तीन स्टैंडअलोन वेबअसेंबली रनटाइम संकलन गति और निष्पादन प्रदर्शन को उसी तरह से संतुलित नहीं करते हैं, जो आंशिक रूप से बताता है कि उनके कोल्ड स्टार्ट आंकड़े शब्द दर शब्द की तुलना क्यों नहीं करते हैं।

वास्मटाइमक्रेनलिफ्ट संकलन बैकएंड, तैनाती से पहले ऐतिहासिक रूप से एक संभावित प्रीकंपाइलेशन मार्ग के साथएज फ़ंक्शंस के लिए ऑराबेस द्वारा उत्पादन में उपयोग किया जाता है
वासमेरलंबे समय से कई विनिमेय बैकएंड का दस्तावेजीकरण किया गया है, जिसमें रनटाइम प्रदर्शन के बजाय संकलन गति के लिए डिज़ाइन किया गया बैकएंड भी शामिल हैमार्केट्स इंस्टाबूट, पहले से आरंभ किए गए उदाहरण के स्नैपशॉट द्वारा रीबूट
वास्मएजसार्वजनिक स्थिति ने अपने स्वयं के प्रतिस्पर्धी तर्क के साथ त्वरित शुरुआत पर ध्यान केंद्रित कियाइस विपणन क्षेत्र में वैकल्पिक रनटाइम भी सक्रिय है
इस तालिका का उपयोग रनटाइम को वर्गीकृत करने के लिए नहीं, बल्कि अतुलनीयता को दर्शाने के लिए किया जाता है

इन आर्किटेक्चर को स्वयं परियोजनाओं द्वारा सार्वजनिक रूप से प्रलेखित किया गया है। हमने इस लेख के लिए उन्हें संस्करण दर संस्करण दोबारा सत्यापित नहीं किया है, और वे प्रदर्शन रैंकिंग का गठन नहीं करते हैं। वे केवल यह समझाते हैं कि तीन अलग-अलग रनटाइम द्वारा प्रदर्शित तीन कोल्ड स्टार्ट आंकड़े सटीक क्यों हो सकते हैं और फिर भी एक दूसरे के साथ तुलनीय नहीं हैं।

सर्वर रहित चर्चाओं में अक्सर विरोध किए जाने वाले दो रनटाइम के बीच संपूर्ण वास्तुशिल्प विवरण के लिए, हमारी समर्पित तुलना वास्मटाइम बनाम वासमरदेखें।

#
पुनः योग्यता

इंस्टाबूट क्या दिखाता है, और इसका उत्पाद पृष्ठ अकेले क्या साबित नहीं करता है

उत्पाद स्थिति के अनुसार जो वासमर सार्वजनिक रूप से संचार करता है, इंस्टाबूट प्रत्येक अनुरोध के साथ एक पूर्ण स्टार्टअप को पुनरारंभ करने के बजाय, स्नैपशॉट तंत्र द्वारा पहले से ही आरंभ किए गए एक उदाहरण को पुनर्स्थापित करता है। यह एक वास्तविक वास्तुशिल्प विकल्प है जो उस समस्या के अनुरूप है जिसे वह लक्षित करता है।

हालाँकि, यह लेख जो नहीं करता है, वह वासमर उत्पाद पृष्ठ पर प्रदर्शित प्रदर्शन आंकड़े को दोहराना है। यह जाने बिना कि किस हार्डवेयर, किस कार्यभार और किस माप प्रोटोकॉल ने यह आंकड़ा तैयार किया है, इसे पुनः प्रकाशित करने से ऊपर दर्ज की गई गलती होगी: एक मार्केटिंग नंबर को एक स्वतंत्र बेंचमार्क परिणाम के रूप में मानना।

मिसाल जो इस सावधानी को उचित ठहराती है

"1 एमएस से कम कोल्ड स्टार्ट" जैसा आंकड़ा पहले ही सार्वजनिक रूप से प्रसारित हो चुका है, जिसमें पिछली ऑराबेस सामग्री भी शामिल है, बिना किसी पुनरुत्पादित बेंचमार्क द्वारा समर्थित किए। इसे अब आंतरिक रूप से असमर्थित माना जाता है। यही नियम प्रतिस्पर्धी रनटाइम, इंस्टाबूट सहित, द्वारा प्रदर्शित किसी भी आंकड़े पर लागू होता है, जब तक कि इसके साथ कोई अलग-अलग कार्यप्रणाली न हो।

#
कोड में चेक किया गया

ऑराबेस आज अपनी ठंडी शुरुआत के बारे में क्या कह सकता है और क्या नहीं

ऑराबेस अपने एज फ़ंक्शंस को उत्पादन में वास्मटाइम पर चलाता है, पायलट प्रोजेक्ट में नहीं। यहां बताया गया है कि फाइलिंग किस लिए अनुमति देती है और वह दावा कहां समाप्त होता है।

3
WASM रनटाइम्स का हवाला दिया गया
वासटाइम, वासमर, वासमएज
0
बेंचमार्क कोल्ड स्टार्ट ऑरबेस जारी
आज तक कोई प्रतिलिपि प्रस्तुत करने योग्य और दिनांकित माप नहीं है
43
WASMTIME संस्करण उत्पादन में है
aura-functions/Cargo.toml, उत्पाद निर्भरता

सेवा की उत्पादन निर्भरता में, async और cranelift सक्रिय सुविधाओं के साथ निर्भरता को कठिन घोषित किया गया है, न कि dev-dependency में और न ही किसी टिप्पणी में:

Cargo.tomltoml
# भंडार से वास्तविक उद्धरण
[dependencies]

# WASM रनटाइम
wasmtime = { version = "43", features = ["async", "cranelift"] }

यह फ़ाइल क्या नहीं कहती है: हमारी बेंचमार्क पद्धति में वर्णित प्रोटोकॉल के अनुसार मापा गया कोई कोल्ड स्टार्ट आंकड़े इस रनटाइम के लिए रिपॉजिटरी में आज मौजूद नहीं है। जब तक अलग-अलग प्रतिशत, हार्डवेयर और कार्यभार के साथ एक दिनांकित माप प्रकाशित नहीं किया जाता है, तब तक किसी भी ऑराबेस आंकड़े को उत्पाद की मापी गई विशेषता के रूप में उद्धृत नहीं किया जाना चाहिए। प्लेटफ़ॉर्म के सामान्य आर्किटेक्चर के लिए, हमारा स्तंभ लेख ऑराबेस रस्ट आर्किटेक्चरदेखें। कोल्ड स्टार्ट WASM और कोल्ड स्टार्ट कंटेनर के बीच एक ठोस तुलना के लिए, यहां संबोधित पद्धतिगत प्रश्न से स्वतंत्र, हमारा समर्पित लेख WASM बनामकंटेनर देखें।

#
रीडिंग ग्रिड

किसी कोल्ड स्टार्ट नंबर पर विश्वास करने से पहले उसे कैसे पढ़ें

किसी भी कोल्ड स्टार्ट आंकड़े को पूछने के लिए सात प्रश्न, जिसमें हमारा वह दिन भी शामिल है जिस दिन हम एक जारी करते हैं।

  1. कौन से चरण शामिल हैं? नेटवर्क लोडिंग, सत्यापन, संकलन, इन्स्टेन्शियेशन, पहली कॉल: एक आंकड़ा जो इसका केवल एक हिस्सा गिनता है, उस आंकड़े से तुलनीय नहीं है जो उन सभी को गिनता है।
  2. क्या मॉड्यूल वास्तव में "ठंडा" था? पहले से ही मेमोरी या डिस्क कैश में मौजूद मॉड्यूल पहली बार लोड किए गए मॉड्यूल के समान परीक्षण नहीं करता है।
  3. JIT संकलन या पूर्व संकलित आर्टिफैक्ट (AOT)? दोनों रणनीतियों में संरचनात्मक रूप से अलग-अलग स्टार्ट-अप लागतें हैं।
  4. एकल अंक या वितरण? दस में सर्वश्रेष्ठ रन का मान एक हजार रन में p95 के समान नहीं होता है।
  5. उपकरण और क्षेत्र निर्दिष्ट? हार्डवेयर विनिर्देश के बिना किसी चित्र को किसी तीसरे पक्ष द्वारा पुन: प्रस्तुत नहीं किया जा सकता है।
  6. समान लोड और टोपोलॉजी पर तुलना? रिपोर्ट किए बिना स्वयं-होस्ट किए गए रनटाइम की प्रबंधित सेवा से तुलना करने से रीडिंग विकृत हो जाती है।
  7. परीक्षण किए गए रनटाइम की तिथि और संस्करण? तेजी से विकसित हो रहे किसी प्रोजेक्ट पर अदिनांकित आंकड़े का कुछ महीनों के बाद कोई मतलब नहीं रह जाता है।
#
अक्सर पूछे जाने वाले प्रश्नों

पूछे जाने वाले प्रश्न

WebAssembly कोल्ड स्टार्ट वास्तव में क्या है?+
यह वह समय है जो किसी ऐसे फ़ंक्शन के लिए अनुरोध के आगमन और उसकी पहली प्रभावी प्रतिक्रिया को अलग करता है जो अभी तक सक्रिय नहीं है। इस बार कई अलग-अलग चरण जोड़े गए हैं: मॉड्यूल लोड करना, बाइटकोड को मान्य करना, संकलन या लिंक करना, इंस्टेंशियेशन (रैखिक मेमोरी, टेबल, ग्लोबल्स), फिर अनुरोध को संसाधित करना। दो कोल्ड स्टार्ट आंकड़े जरूरी नहीं कि समान चरणों को मापें।
क्या "वेबअसेंबली कोल्ड स्टार्ट 1 एमएस से कम" का आंकड़ा सच है?+
यह आंकड़ा अलग-अलग हार्डवेयर, वर्कलोड और विधि के साथ प्रतिलिपि प्रस्तुत करने योग्य बेंचमार्क द्वारा समर्थित किए बिना, पिछले ऑराबेस सामग्री सहित सार्वजनिक रूप से प्रसारित किया गया है। इसे अब आंतरिक रूप से असमर्थित माना जाता है। प्रकाशित कार्यप्रणाली के बिना प्रतिस्पर्धी रनटाइम द्वारा प्रदर्शित किसी भी कोल्ड स्टार्ट नंबर पर भी यही सावधानी लागू होती है।
इंस्टाबूट, वासमर सुविधा क्या है?+
उत्पाद स्थिति के अनुसार जो वासमर सार्वजनिक रूप से संचार करता है, इंस्टाबूट प्रत्येक अनुरोध के साथ एक पूर्ण स्टार्टअप को पुनरारंभ करने के बजाय स्नैपशॉट द्वारा पहले से शुरू किए गए एक उदाहरण को पुनर्स्थापित करता है। इस लेख में वासमर उत्पाद पृष्ठ पर प्रदर्शित कोई भी प्रदर्शन आंकड़े शामिल नहीं हैं: अलग कार्यप्रणाली और सामग्री के बिना, इस आंकड़े को पुनः प्रकाशित करने से यह समस्या उत्पन्न हो जाएगी।
क्या ऑराबेस ने अपने एज फ़ंक्शंस के लिए एक कोल्ड स्टार्ट आंकड़ा जारी किया है?+
नहीं, ऑराबेस ऑरा-फ़ंक्शंस में उत्पादन निर्भरता के रूप में वास्मटाइम संस्करण 43 (एसिंक्स और क्रेनलिफ्ट फीचर्स) चलाता है, यह तथ्य सीधे सेवा के कार्गो.टीओएमएल में सत्यापित है। लेकिन इस रनटाइम के लिए रिपॉजिटरी में वर्तमान में प्रतिलिपि प्रस्तुत करने योग्य और दिनांकित प्रोटोकॉल के बाद कोई कोल्ड स्टार्ट बेंचमार्क मौजूद नहीं है।
क्या WebAssembly एक कंटेनर से अधिक तेजी से प्रारंभ होता है?+
वास्तुकला की दृष्टि से, वेबअसेंबली मॉड्यूल में कंटेनर की तुलना में छोटी स्टार्टअप सतह होती है (कोई अतिथि कर्नेल नहीं, माउंट करने के लिए कोई पूर्ण फ़ाइल सिस्टम नहीं), जो त्वरित कोल्ड स्टार्ट को प्रशंसनीय बनाता है। लेकिन वास्तविक अंतर दृढ़ता से परीक्षण किए गए परिदृश्य पर निर्भर करता है। WASM बनाम कंटेनर तुलना के लिए समर्पित हमारा लेख ठोस मामलों के साथ इस बिंदु की पड़ताल करता है।

बाहरी स्रोतों का हवाला दिया गया: सार्वजनिक उत्पाद दस्तावेज़ीकरण वासमर (इंस्टाबूट), सार्वजनिक परियोजना दस्तावेज़ीकरण वासटाइम (बाइटकोड एलायंस), उनके द्वारा दिखाए गए प्रदर्शन आंकड़ों की स्वतंत्र दोबारा जांच के बिना, इस लेख की तैयारी में परामर्श दिया गया।

तैनाती के लिए तैयार हैं?

पाँच मिनट में आपका बैकएंड।

किसी क्रेडिट कार्ड की आवश्यकता नहीं · 500 एमबी निःशुल्क · 50,000 एमएयू