यदि आप कोड को देखते हैं, तो आप देखेंगे कि यूनिक्स डोमेन सॉकेट टीसीपी सॉकेट की तुलना में बहुत कम कोड निष्पादित करते हैं।
टीसीपी सॉकेट के माध्यम से भेजे गए संदेश लूपबैक इंटरफ़ेस में नेटवर्किंग स्टैक के माध्यम से सभी तरह से जाना है (जो एक वर्चुअल नेटवर्क इंटरफ़ेस डिवाइस है जिसे आम तौर पर यूनिक्स-स्टाइल सिस्टम पर "लो" कहा जाता है), और फिर प्राप्त करने के लिए वापस सॉकेट। नेटवर्किंग स्टैक कोड टीसीपी और आईपी हेडर पर काम करता है, रूटिंग फैसले बनाता है, आगे "लो" के माध्यम से खुद को एक पैकेट बनाता है, फिर अधिक रूटिंग करता है और हेडर को पीछे छोड़ देता है। इसके अलावा, क्योंकि टीसीपी नेटवर्किंग प्रोटोकॉल है, इसके कनेक्शन कनेक्शन हिस्से में गिराए गए पैकेट से निपटने के लिए सभी प्रकार की अतिरिक्त जटिलता है। आपके लिए सबसे महत्वपूर्ण, टीसीपी को कनेक्शन स्थापित करने के लिए केवल तीन संदेश भेजना है (SYN, SYN-ACK, और ACK)।
यूनिक्स डोमेन सॉकेट गंतव्य सॉकेट ऑब्जेक्ट (रैम में) खोजने के लिए वर्चुअल फ़ाइल सिस्टम (या "अमूर्त नामस्थान") को सीधे देखें और सीधे संदेश कतार दें। इसके अलावा, भले ही आप अपने गंतव्य सॉकेट को नाम देने के लिए फ़ाइल सिस्टम का उपयोग कर रहे हों, अगर उस सॉकेट को हाल ही में एक्सेस किया गया है, तो इसकी फाइल सिस्टम संरचनाओं को रैम में कैश किया जाएगा, इसलिए आपको डिस्क पर जाना होगा। एक यूनिक्स डोमेन सॉकेट के लिए कनेक्शन स्थापित करना रैम में एक नया सॉकेट ऑब्जेक्ट उदाहरण बनाना शामिल है (यानी, सॉकेट जो स्वीकार() द्वारा लौटाया जाता है, जो कुछ भी है जो टीसीपी के लिए भी किया जाना चाहिए) और प्रत्येक में एक पॉइंटर संग्रहीत करना दो जुड़े सॉकेट ऑब्जेक्ट्स (इसलिए जब उन्हें भेजने की आवश्यकता होती है तो उनमें से प्रत्येक के पास अन्य सॉकेट में पॉइंटर होता है)। तो इतना ही है। कोई अतिरिक्त पैकेट की आवश्यकता नहीं है।
वैसे, इस पत्र पता चलता है कि यूनिक्स डोमेन सॉकेट डाटा हस्तांतरण के लिए भी पाइपों से वास्तव में तेजी से कर रहे हैं:
http://osnet.cs.binghamton.edu/publications/TR-20070820.pdf
दुर्भाग्य से, वे कनेक्शन स्थापना लागत के विशिष्ट माप भी नहीं किया है, लेकिन के रूप में मैंने कहा है, मैंने लिनक्स स्रोत कोड को देखा है और यह वास्तव में टीसीपी कनेक्शन स्थापना कोड से काफी सरल है।
ग्रेट उत्तर। धन्यवाद! – expert