আমি আক্কা (জাভা এপিআই) এর উপর হাত চেষ্টা করছিলাম। আমি যা চেষ্টা করেছি তা হ'ল আকার অভিনেতা ভিত্তিক কনক্যুরেন্সির মডেলটির তুলনায় প্লেইন জাভা কনসুরেন্সির মডেল (java.util.conc ચાલુ ক্লাস)।
ব্যবহারের ক্ষেত্রে অক্ষর গণনা বাস্তবায়ন হ্রাস করার একটি সাধারণ প্রচলিত মানচিত্র ছিল। ডেটাসেটটি এলোমেলোভাবে উত্পাদিত স্ট্রিংগুলির দৈর্ঘ্য ছিল (400 অক্ষর দৈর্ঘ্যের) এবং সেগুলির মধ্যে স্বর সংখ্যা গণনা করুন।
আক্কার জন্য আমি একটি ভারসাম্যযুক্ত ডিসপ্যাচার (থ্রেডগুলির মধ্যে লোড ভারসাম্যের জন্য) এবং রাউন্ডরবিনরউটার (আমার ফাংশন অভিনেতাদের সীমাবদ্ধ রাখতে) ব্যবহার করেছি। জাভা-র জন্য, আমি সাধারণ কাঁটাচামচ যোগদান কৌশল (কোনও কাজ চুরির অ্যালগরিদম ছাড়াই বাস্তবায়িত) ব্যবহার করেছি যা ম্যাপ কাঁটাচামচ করে / ফাঁসিকে হ্রাস করবে এবং ফলাফলগুলিতে যোগদান করবে। এমনকি যোগদানকে যতটা সম্ভব সমান্তরাল করে তুলতে মধ্যবর্তী ফলাফলগুলি কাতারে আটকে রাখা হয়েছিল। সম্ভবত, আমি যদি ভুল না হয়ে থাকি তবে এটি আক্কা অভিনেতাদের "মেইলবক্স" ধারণার নকল করে, যেখানে তারা বার্তা গ্রহণ করে।
পর্যবেক্ষণ: মাঝারি লোড পর্যন্ত (00 50000 স্ট্রিং ইনপুট) ফলাফলগুলি তুলনীয় ছিল, বিভিন্ন পুনরাবৃত্তিতে কিছুটা পৃথক হয়ে। যাইহোক, আমি আমার বোঝাটিকে 000 100000 এ বাড়ানোর সাথে সাথে এটি জাভা সমাধানটি ঝুলিয়ে রাখবে। আমি এই অবস্থার অধীনে 20-30 থ্রেড সহ জাভা সমাধানটি কনফিগার করেছি এবং এটি সমস্ত পুনরাবৃত্তিতে ব্যর্থ।
1000000 বোঝা বৃদ্ধি, আকার জন্যও মারাত্মক ছিল। আমি ক্রস চেক করতে আগ্রহী কারও সাথে কোডটি ভাগ করতে পারি।
সুতরাং আমার কাছে মনে হয় আক্কারা প্রচলিত জাভা মাল্টিথ্রেড সমাধানের চেয়ে আরও ভাল আঁকিয়েছে। এবং সম্ভবত কারণটি স্কালার হুড ম্যাজিকের নীচে।
যদি আমি ইভেন্ট চালিত বার্তাটি পাস করার মতো সমস্যা হিসাবে কোনও ডোমেনকে মডেল করতে পারি তবে আমি মনে করি আক্কা JVM এর পক্ষে ভাল পছন্দ।
পরীক্ষার উপর সঞ্চালিত হয়েছে: জাভা সংস্করণ: 1.6 আইডিই: Eclipse 3.7 উইন্ডোজ ভিস্তা 32 বিট। 3 জিবি র্যাম ইন্টেল কোর আই 5 প্রসেসর, 2.5 গিগাহার্টজ ঘড়ির গতি
দয়া করে নোট করুন, পরীক্ষার জন্য ব্যবহৃত সমস্যা ডোমেনটি নিয়ে বিতর্ক করা যেতে পারে এবং আমি আমার জাভা জ্ঞানের অনুমতি অনুসারে যতটা ন্যায্য হতে চেষ্টা করেছি :-)