fasthttp
सर्वर नेट/http से 10 गुना तेज है।गोलांग पैकेज में, नेट/http से फास्टेट तेजी से क्यों है?
कार्यान्वयन (कोडिंग स्तर पर) के मामले में उन्हें यह तेज़ी से क्या बनाता है?
यह आने वाले अनुरोधों का प्रबंधन कैसे करता है जो दूसरे से अलग है?
fasthttp
सर्वर नेट/http से 10 गुना तेज है।गोलांग पैकेज में, नेट/http से फास्टेट तेजी से क्यों है?
कार्यान्वयन (कोडिंग स्तर पर) के मामले में उन्हें यह तेज़ी से क्या बनाता है?
यह आने वाले अनुरोधों का प्रबंधन कैसे करता है जो दूसरे से अलग है?
लेख husobee से "http implementation fasthttp in golang" का उल्लेख है:
खैर, यह कई कारणों से एक बेहतर कार्यान्वयन है पहले ही शुरू हो चुके हैं और सेवा के लिए तैयार हैं, जबकि stdlib कार्यान्वयन में
go c.serve()
को goroutine के लिए स्मृति आवंटित करना है।
कुल मिलाकर अनुरोध के लिए एक कार्यकर्ता पूल मॉडल के साथ एक सर्वर लिखना बेहतर है, क्योंकि अनुरोध के अनुसार "थ्रेड" प्रति अनुरोध करने के विपरीत, बॉक्स से बाहर निकलने का कोई तरीका नहीं है।
@ अमित-वर्मा, फिर भी, कृपया ध्यान दें कि इस पैकेज के तेज़ कारणों में से एक यह है कि ["मानक इसके लेखक के रवैये के लिए हैं] [https://groups.google.com/d/msg/golang-nuts/OaQu4QezAr0/ AtrwY00LBgAJ)। इसलिए यदि मैं आप थे, तो मैं सुरक्षित पक्ष पर 'नेट/http' से शुरू करूंगा: सीएस/आईटी * में रहने वाले लोगों * में विलोपन को खत्म करने की प्राकृतिक प्रवृत्ति है, ठीक है, हम सभी को हमारे सिस्टम पसंद हैं "सबसे अच्छा"। दुर्भाग्यवश, वास्तविक दुनिया में * रखरखाव * अधिकांश समय कच्ची गति को तोड़ देता है। – kostix
@ अमित-वर्मा, ठीक है, जब तक कि आप फेसबुक नहीं हैं और उदाहरण के लिए, यूएसएलएफ को पागलपन बनाए रखने के प्रयासों के साथ परियोजनाओं में शामिल होने की पेशकश कर सकते हैं जैसे PHP वास्तव में उनके वर्कलोड के लिए काम करना ;-) मेरा क्या मतलब है, 'नेट/http' युद्ध-परीक्षण और मानक अनुपालन करते हैं और इसके पीछे कोर गो टीम है। तो क्या आपको वास्तव में अपने प्रोजेक्ट * के लिए 'फास्टेटप' की कच्ची गति की आवश्यकता है? * क्या आपके पास बाधाएं हैं? क्या आपने इसे प्रोफाइल किया है और सामान्य अपराधियों से इंकार कर दिया है (जैसे अप्रभावी आवंटन/प्वाइंटर्स को पॉइंटर्स पॉइंटर्स आदि के बहुत सारे)? – kostix
@AmitVerma, मेरी पिछली टिप्पणी के आखिरी बिट्स का उत्तर देने का ख्याल रखता है: «तो क्या आपको वास्तव में अपनी परियोजना के लिए फ़ैस्टेट की कच्ची गति की आवश्यकता है? क्या आपके पास बाधाएं हैं? क्या आपने इसे प्रोफाइल किया है और सामान्य अपराधियों से इंकार कर दिया है (जैसे अप्रभावी आवंटन/प्वाइंटर्स पॉइंटर्स पॉइंटर्स टू पॉइंटर्स इत्यादि)? »मेरा मतलब है, आप एक आम जाल में गिरने लगते हैं जो अधिकांश नौसिखिया प्रोग्रामर गिरते हैं।यह "मैं * जानता हूं * मेरा प्रोग्राम * धीमा होना चाहिए * यहां बिल्कुल" * मंत्र - बिना किसी प्रोफाइलिंग किए। यह सादा लंगड़ा है और आप किसी भी भुगतान उत्पादन कार्य करने से पहले इस आदत को बेहतर ढंग से मुक्त करेंगे। – kostix
मुख्य कारण: fasthttp ** ** HTTP का पूर्ण कार्यान्वयन नहीं है। अधिकांश HTTP सामानों के लिए fasthttp पर्याप्त अच्छा हो सकता है, लेकिन सब कुछ के लिए नहीं। – Volker
@ वोल्कर ... क्या आप बता सकते हैं कि fasthttp –
में जो चीजें छोड़ी गई हैं, शुरुआत करने वालों के लिए, कोई http/2 समर्थन https://github.com/valyala/fasthttp/issues/144 – nishanths