Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

क्या मुझे रूबी 2.1 में अपग्रेड करना चाहिए?

मैं इसका उत्तर स्क्रीनशॉट के साथ दूंगा:

{% img img-responsive /images/posts/ruby-2-1-improvement.png 645 259 मैं इसे एक बड़ा हां कहूंगा%}

हमने लगभग एक सप्ताह पहले रूबी 1.9 से 2.1 तक उत्पादन में अपग्रेड किया था, और यही हमने देखा। सबसे नीचे ग्रे सेक्शन हमारा कचरा संग्रहण समय लगभग कुछ भी नहीं होने वाला है। कुल मिलाकर, अपग्रेड ने यूएसए को सर्वर प्रतिक्रिया समय में 15-20% सुधार दिया। वह कोई अतिरिक्त GC ट्यूनिंग किए बिना है!

हमने अपग्रेड को शिपिंग के बाद Google और Bing की क्रॉल दरों में एक बड़ा बढ़ावा देखा, जो विशेष रूप से हमारी जैसी साइटों के लिए बहुत बढ़िया है जो खोज इंजन ट्रैफ़िक से अत्यधिक लाभान्वित होते हैं।

अच्छा, तो यह कितना कठिन था?

करीब 150 मणि निर्भरता वाले बड़े रेल ऐप पर, अपग्रेड ने एक छोटी सी प्रतिबद्धता और कुछ दिनों के परीक्षण को लिया। हम अपने सभी सर्वरों पर रनआरवीएम करते हैं और शेफ के साथ प्रावधान करते हैं, इसलिए हमारे सभी सर्वरों को 2.1 में अपग्रेड करना शेफ रोल फ़ाइल में संस्करण संख्या को बदलने जितना आसान था।

हमें किन समस्याओं का सामना करना पड़ा?

हम अभी भी लिप्यंतरण के लिए iconv का उपयोग करते हैं, इसलिए हमें theiconv रत्न शामिल करना पड़ा, जो कि 2.x से हटाई गई बिल्ट-इनफंक्शनलिटी को प्रतिस्थापित करता है। मैं 2.x के तहत काम करने वाले रूबी-डीबग या डिबगर मणि को प्राप्त करने में सक्षम नहीं था, इसलिए हमने pry andpry-byebug पर स्विच किया। प्राइ-बायबग के बजाय अभी भी डिबगर रत्न को प्राथमिकता देते हैं, लेकिन pry irb की तुलना में इतना बेहतर है कि यह एक तरह का वॉश है। बायबग के लेखक डेविड रोड्रिग्ज ने बताया कि प्राइ-बायबग के साथ मेरी समस्याएं शायद बायबग के कारण नहीं थीं। वह बिल्कुल सही था! (यह वास्तव में बायबग और प्राइ के बीच बातचीत के कारण हुआ था)

मिश्रित 1.9 और 2.1 वातावरण में, आपको बंडलर को 1.5.1 में अपग्रेड करना होगा। बंडलर के नए संस्करण के साथ, आप अपने Gemfile में एक प्लेटफ़ॉर्म आवश्यकता के रूप में 2.1 निर्दिष्ट कर सकते हैं:

gem 'iconv', '~> 1.0.2', :platform => [:mri_20, :mri_21]

ऐसा लगता है कि गिटहब 2.1 के साथ कुछ अन्य समस्याओं में भाग गया, जिसका उल्लेख अमन गुप्ता ने इस सार में किया है:https://gist.github.com/tmm1/8393897,लेकिन हमने अभी तक कोई समस्या नहीं देखी है।

और भी अधिक गति प्राप्त करने के लिए शिप करने के बाद आप जीसी को भी ट्यून करना चाहेंगे। अमन के पास यह करने के तरीके के बारे में बहुत सारी जानकारी के साथ एक अच्छी पोस्ट है:https://tmm1.net/ruby21-rgengc/। यदि आप अपने सस्ते, सरल रूबी अपग्रेड से अधिकतम लाभ प्राप्त करना चाहते हैं, तो उनके ब्लॉग पर संपूर्ण 2.1 श्रृंखला पढ़ने योग्य है।


  1. क्या आपको अपने Mac को Mojave में अपग्रेड करना चाहिए?

    यदि आप macOS हाई सिएरा या पुराने चला रहे हैं और Mojave में अपग्रेड करने के लिए लगातार संकेत देख रहे हैं, तो अपने आप से पूछना स्वाभाविक है, क्या मुझे अपने Mac को Mojave में अपग्रेड करना चाहिए?। निश्चित रूप से ऐसा करने के कई कारण हैं, लेकिन फिर आपके मौजूदा macOS संस्करण को अपग्रेड न करने के भी कारण है

  1. क्या मुझे macOS Catalina में अपग्रेड करना चाहिए?

    macOS Catalina ने 7 अक्टूबर 2019 को अपनी आधिकारिक शुरुआत की और इसकी नवीनतम रिलीज़ पिछले महीने, Catalina 10.15.7 को लॉन्च किया गया, जिसमें प्रदर्शन में सुधार, बग फिक्स और बेहतर सुरक्षा की पेशकश की गई है। अपने पिछले संस्करणों की तुलना में, macOS Catalina प्रदर्शन और विश्वसनीयता के मामले में बहुत अधिक

  1. WiFi 6 क्या है? क्या आपको अपग्रेड करना चाहिए?

    सीईएस 2020 में, यह घोषणा की गई थी कि कई डिवाइस वाईफाई 6 से लैस होंगे। तो, यह वास्तव में क्या है और यह वर्तमान वाईफाई कनेक्शन से कैसे अलग होगा। WiFi6 क्या है, और क्या यह अपग्रेड करने के लिए अनुकूल है, इसके लिए हम वर्तमान पोस्ट में चर्चा करते हैं। लैपटॉप, स्मार्टफोन और टैबलेट हैं, जो वाईफाई के नवीनतम