জেআরবি অন রেলস বনাম রুবি অন রিয়েল, কী পার্থক্য?


135

আমি জেলের সাথে জে আরবি এবং জে রবি পরীক্ষা করে দেখছি। জেলের উপর জেআরবি এবং রেল অন রেলগুলির মধ্যে পার্থক্য সম্পর্কে তথ্য খুঁজতে আমার সমস্যা হচ্ছে।

আমার কী তফাতগুলি সন্ধান করতে হবে?

উত্তর:


160

জেআরবি হ'ল রুবি বাস্তবায়ন যা একটি জেভিএম-তে চালিত হয় যেখানে ম্যাটজের রুবি একটি সি বাস্তবায়ন।

উল্লেখ্যযোগ্য বৈশিষ্ট্যগুলি হ'ল:

  1. জেআরবি জাভা ভিএম-তে চলে এবং এটি জাভা বাইট কোডে সংকলিত বা ব্যাখ্যা করে pre
  2. JRuby জাভা কোডের সাথে সংহত করতে পারে। আপনার যদি জাভা ক্লাসের লাইব্রেরি থাকে (.jar's), আপনি এটিকে JRuby এর সাথে রুবি কোডের মধ্যে থেকে উল্লেখ করতে এবং ব্যবহার করতে পারেন। অন্য দিকে আপনি জাভা থেকে JRuby কোড কল করতে পারেন। জেআরবিও জেভিএম এবং অ্যাপ্লিকেশন সার্ভারের ক্ষমতা ব্যবহার করতে পারে।
  3. জেআরবি সাধারণত সান এর গ্লাস ফিশ বা টমক্যাট ওয়েব সার্ভারের মতো জাভা অ্যাপ্লিকেশন সার্ভারের মধ্যে হোস্ট করা হয়।
  4. যদিও আপনি জেআরবির সাথে নেটিভ রুবি রত্ন ব্যবহার করতে পারবেন না সেখানে বেশিরভাগ জনপ্রিয় রুবি লাইব্রেরির জন্য জেআরবি বাস্তবায়ন রয়েছে।

JRuby উইকিতে তালিকাভুক্ত অন্যান্য পার্থক্য রয়েছে:


আপনাকে ধন্যবাদ, আমি যা খুজেছিলাম তার সবকিছুর উত্তর। :)
Epochwolf

4
ওহ, এবং এটি 1.9 এর তুলনায় কিছুটা ধীর গতিতে
চলেছে

1
জেলগুলিতে জেআরবিতে পারফরম্যান্সের পার্থক্যগুলি দেখার জন্য পর্যাপ্ত সংস্থানযুক্ত একটি মাল্টিকার্ড মেশিন রাখার পরামর্শ দেওয়া হচ্ছে। ধীরে ধীরে ডাটাবেস প্রশ্নগুলি JRuby কেও বাধা দিতে পারে এবং এটি রেলগুলিতে এমআরআইয়ের তুলনায় অনুরূপ বা ধীর করতে পারে। জেআরবি এমআরআইয়ের চেয়ে উল্লেখযোগ্যভাবে আরও সামনের মেমরি ব্যবহার করে।
জোসেফ রেভেনওল্ফ

ভিপিএন ওভারল এর সাথে জুরবি ব্যবহার করে আমাদের উভয় ব্যাপক পারফরম্যান্স রয়েছে (টেস্টগুলি অবিশ্বাস্যভাবে ধীরে ধীরে চালিত হয়) এবং স্থানীয়ভাবে (কোনও ভিপিএন) কেবল রুবি, রেলস কনসোল ইত্যাদি শুরু না করে 3 এর পরিবর্তে 30 সেকেন্ড + সময় নেয়
মাইকেল ডুরান্ট

57

আমি আশ্চর্য হয়েছি জিআইএল সম্পর্কিত এই প্রশ্নের উত্তরগুলিতে একটি গুরুত্বপূর্ণ বিষয় অনুপস্থিত ।

প্রধান পার্থক্য আপনার esp সম্পর্কে যত্ন নেওয়া উচিত। ওয়েব-অ্যাপ্লিকেশনগুলিতে যেমন রেলগুলি দিয়ে নির্মিত তা সত্য সম্মতি ("গ্লোবাল ইন্টারপ্রেটার লক" ফ্রি)। যখন দুটি থ্রেড চলমান থাকে (যেমন 2 ব্যবহারকারী অনুরোধগুলি পরিবেশন করে) জেআরবির সাথে তারা একক প্রক্রিয়ার মধ্যে একযোগে চলতে সক্ষম হয়, যখন এমআরআইতে জিআইএল (এমনকি 1.9 এর মূল থ্রেড সহ) থাকে যা রুবি কোডকে সমান্তরালভাবে কার্যকর করা এড়িয়ে চলে।

কোনও অ্যাপ্লিকেশন বিকাশকারীকে জেআরবি বিবেচনা করার সময় এটি প্রথম জিনিস মনে রাখা উচিত, কারণ এটি সত্যই জ্বলজ্বল করে config.threadsafe!তবে আপনার কোডটি (এবং আপনার রত্নের কোড) "সত্যিকারের" থ্রেড-নিরাপদ হওয়া নিশ্চিত করা প্রয়োজন।


7

আমি ভুল হতে পারি, তবে আমি মনে করি আপনি সাধারণ আরআর দিয়ে যেভাবে না করতে পারেন সেভাবেই আপনি একটি জেআরবি রেল অ্যাপ্লিকেশনটিতে প্যাকেজ করতে পারেন - মিংল বা এর মতো দেখুন। আপনার প্যান্টগুলি না ফেলে / কমোনো না খোলার মাধ্যমে বিক্রয় সম্ভব করে তোলে।

এটি বলেছিল, আমি আরআর প্যাকেজিংয়ের সাথে যথেষ্ট পরিচিত নই, তাই আমাকে এতে আটকাবেন না :)


1
আপনি এটির ক্ষেত্রে একেবারে সঠিক, যদিও এটি সম্পূর্ণরূপে করার জন্য আপনার কাছে রাউর বা রইর মণির মতো কিছু দরকার হবে (শেষবার যখন আমি মিংল ব্যবহার করেছি, এটি রুবি ফাইলগুলি অপ্রকাশিত ছিল ...)।
মার্নেন লাইবো-কোসার 16

3

বেশিরভাগ ক্ষেত্রে এটি একই কাজ করা উচিত। জেআরওআর-তে আপনি যে জিনিসগুলি আরআরতে পাবেন না সেগুলিতে অ্যাক্সেস করতে পারেন। সাধারণত এটি মূলত একটি স্থাপনার উদ্বেগ।

তবে, যদি আপনার আরআর অ্যাপ্লিকেশন জেভিএম-তে চালিত সমতুল্য না এমন নেটিভ লাইব্রেরি ব্যবহার করে, তবে এটি ব্যথা হতে পারে। তবে বেশিরভাগ লিবসের একটি নেটিভ সংস্করণ পাওয়া যায় (কমপক্ষে জনপ্রিয়গুলি আমি দেখতে পেয়েছি)।


0

এখানে ইতিমধ্যে কিছু দুর্দান্ত উত্তর রয়েছে।

ইবেবেসেন ইতিমধ্যে বেসিকগুলি coveredেকে রেখেছে, এবং ক্যারেস (নিজেই!) আমাদের জানিয়েছে জেবুবির কোনও জিআইএল নেই।

আমি আরও ব্যবহারিক দৃষ্টিকোণ থেকে যুক্ত করব, আমি রুবেলে অন রেলস অ্যাপ্লিকেশনগুলি চালু করেছি এবং তারপরে পারফরম্যান্সের কারণে JRuby এ স্থানান্তরিত করেছি।

দুটি প্রধান পারফরম্যান্স সুবিধাগুলি ছিল: জে রবি কিছু পরিস্থিতিতে রুবির তুলনায় খুব দ্রুত (বা ছিল) এবং দুটি, গ্লোবাল ইন্টারপ্রিটার লক কেরেসের উল্লেখ না করে আমাকে মাল্টিথ্রেডিং করার অনুমতি দেয় যা কৌতুকপূর্ণ, কার্যক্ষমতার সুবিধাগুলির আনলক আদেশগুলি ।

একটি খুব বড় রুবি অন রেলস অ্যাপ্লিকেশন পোর্ট করে এবং এক ঘন্টা, রত্ন এবং সমস্ত কিছুতে চলে। একমাত্র আসল ত্রুটি ছিল জাভার রেজিক্সগুলি রুবির চেয়ে কিছুটা আলাদা। এটি জেআরবির পক্ষ থেকে একটি স্মরণীয় কৃতিত্ব।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.