के साथ सबसे तेज़ संभव जावास्क्रिप्ट ऑब्जेक्ट क्रमबद्धता मुझे 1-100 मिश्रित प्रकार की गुणों के साथ मामूली जटिल वस्तुओं को क्रमबद्ध करने की आवश्यकता है।Google V8
जेएसओएन मूल रूप से इस्तेमाल किया गया था, तो मैंने बीएसओएन पर स्विच किया जो कि मामूली तेजी से है।
एन्कोडिंग 10000 नमूना वस्तुओं
JSON: 1807mS
BSON: 1687mS
MessagePack: 2644mS (JS, modified for BinaryF)
मैं परिमाण में वृद्धि का एक आदेश चाहते हैं; यह शेष प्रणाली पर हास्यास्पद रूप से बुरा प्रभाव पड़ रहा है।
बीएसओएन में जाने के लिए प्रेरणा का हिस्सा द्विआधारी डेटा को एन्कोड करने की आवश्यकता है, इसलिए JSON (अब) अनुपयुक्त है। और क्योंकि यह वस्तुओं में मौजूद बाइनरी डेटा को बस छोड़ देता है, यह उन बेंचमार्क में "धोखाधड़ी" है।
Profiled BSON प्रदर्शन गर्म स्पॉट
- (अपरिहार्य?) UTF8 को UTF16 वी 8 जे एस तार के रूपांतरण।
- malloc और स्ट्रिंग BSON पुस्तकालय
अंदर ऑप्स BSON एनकोडर मोंगो BSON पुस्तकालय पर आधारित है।
एक देशी वी 8 बाइनरी सीरियलाइज़र अद्भुत हो सकता है, फिर भी जेएसओएन मूल है और धारावाहिक करने के लिए तेज़ है, मुझे डर है कि यहां तक कि जवाब भी प्रदान नहीं किया जा सकता है। शायद मेरी सबसे अच्छी शर्त बीएसओएन लाइब्रेरी से बिल्ली को अनुकूलित करना है या वी 8 से तार खींचने के लिए अपने स्वयं के प्लस आंकड़े को और अधिक प्रभावी तरीके से लिखना है। बीएसओएन को यूटीएफ 16 समर्थन जोड़ने की एक रणनीति हो सकती है।
तो मैं यहाँ विचारों के लिए हूं, और शायद एक सैनिटी चेक।
संपादित
जोड़ा गया MessagePack बेंचमार्क। बाइनरीएफ का उपयोग करने के लिए इसे मूल जेएस से संशोधित किया गया था।
सी ++ संदेशपैक लाइब्रेरी और सुधार प्रदान कर सकती है, मैं इसे बीएसओएन लाइब्रेरी से सीधे तुलना करने के लिए अलगाव में बेंचमार्क कर सकता हूं।
हो सकता है कि आप –
स्टोर करने के लिए आवश्यक डेटा के प्रकार को समझने में सहायता के लिए http://jsperf.com/ परीक्षण केस प्रदान कर सकें, बस मानक जेएस ऑब्जेक्ट्स: {param1: "name", param2: {paramA: 1, paramb: [0x0,0x1,0x2], paramC:}} 100 गुणों के साथ, मनमाने ढंग से घोंसला, जिनमें से कुछ में कॉमनजेएस बाइनरीएफ का उपयोग करके बाइट एरे होंगे। बाइनरीएफ और बीएसओएन धारावाहिक के बिना, किसी भी उपयोगी तुलना करना असंभव है। –
hplbsh
क्या आपके पास बीएसओएन, मैगपैक इत्यादि के लिए उपयोग किए गए किसी भी लिंक/संदर्भ हैं? –