मैं अक्का (जावा आपी) पर हाथ आजमा रहा था। मैंने जो कोशिश की वह अका के अभिनेता आधारित संगामिति मॉडल की तुलना सादे जावा संगति मॉडल (java.util.concurrent classes) से की।
उपयोग मामला चरित्र गणना के कार्यान्वयन को कम करने के लिए एक सरल विहित मानचित्र था। डेटासेट बेतरतीब ढंग से उत्पन्न स्ट्रिंग्स (लंबाई में 400 चार्ट) का एक संग्रह था, और उनमें स्वरों की संख्या की गणना करें।
अक्का के लिए मैंने एक बैलेंस्डडिस्पैचर (थ्रेड्स के बीच लोड संतुलन के लिए) और राउंडरोबिन राउटर (मेरे फ़ंक्शन अभिनेताओं पर एक सीमा रखने के लिए) का उपयोग किया। जावा के लिए, मैंने सरल कांटा ज्वाइन तकनीक (बिना किसी काम के एल्गोरिदम को लागू करने के लिए) का इस्तेमाल किया, जो कि नक्शे को फोर्क / निष्पादित करना कम कर देगा और परिणामों में शामिल हो जाएगा। सम्मिलित परिणामों को यथासंभव समांतर बनाने के लिए अवरुद्ध कतारों में आयोजित किया गया। शायद, अगर मैं गलत नहीं हूं, तो यह किसी तरह अक्का अभिनेताओं की "मेलबॉक्स" अवधारणा की नकल करेगा, जहां उन्हें संदेश मिलते हैं।
अवलोकन: मध्यम भार (~ 50000 स्ट्रिंग इनपुट) तक परिणाम भिन्न-भिन्न पुनरावृत्तियों में भिन्न होते हुए, तुलनीय थे। हालाँकि, जब मैंने अपना भार बढ़ाकर ~ 100000 कर लिया, तो यह जावा समाधान को लटका देगा। मैंने इस स्थिति के तहत जावा समाधान को 20-30 थ्रेड्स के साथ कॉन्फ़िगर किया और यह सभी पुनरावृत्तियों में विफल रहा।
लोड को 1000000 तक बढ़ाना, अक्का के लिए भी घातक था। मैं क्रॉस चेक करने के इच्छुक किसी भी व्यक्ति के साथ कोड साझा कर सकता हूं।
तो मेरे लिए, यह पारंपरिक जावा बहुपरत समाधान की तुलना में अक्का तराजू बेहतर लगता है। और शायद इसका कारण स्काला के हुड जादू के तहत है।
अगर मैं किसी समस्या को डोमेन से संचालित होने वाले संदेश के रूप में मॉडल कर सकता हूं, तो मुझे लगता है कि अक्का जेवीएम के लिए एक अच्छा विकल्प है।
टेस्ट पर प्रदर्शन: जावा संस्करण: 1.6 आईडीई: ग्रहण 3.7 विंडोज विस्टा 32 बिट। 3 जीबी रैम। इंटेल कोर i5 प्रोसेसर, 2.5 गीगाहर्ट्ज़ क्लॉक स्पीड
कृपया ध्यान दें, परीक्षण के लिए इस्तेमाल की जाने वाली समस्या डोमेन पर बहस की जा सकती है और मैंने अपने जावा ज्ञान की अनुमति के रूप में ज्यादा निष्पक्ष होने की कोशिश की :-)