আমার কাছে একটি জাভা অ্যাপ্লিকেশন রয়েছে, টিসিপি সকেটের মাধ্যমে সি / সি ++ তে বিকাশিত একটি "সার্ভার" এর সাথে সংযোগ স্থাপন করে।
অ্যাপ এবং সার্ভার উভয়ই একই মেশিনে চলছে, একটি সোলারিস বক্স (তবে আমরা শেষ পর্যন্ত লিনাক্সে স্থানান্তরিত হওয়ার বিষয়টি বিবেচনা করছি)। এক্সচেঞ্জ করা ডেটা ধরণের সহজ বার্তা (লগইন, এসি কে লগইন করুন, তারপরে ক্লায়েন্ট কিছু জিজ্ঞাসা করে, সার্ভারের জবাব দেয়)। প্রতিটি বার্তা প্রায় 300 বাইট দীর্ঘ হয়।
বর্তমানে আমরা সকেট ব্যবহার করছি, এবং সব ঠিক আছে, তবে আমি আইপিসি পদ্ধতি ব্যবহার করে ডেটা বিনিময় করার জন্য একটি দ্রুততর উপায় (নিম্ন প্রক্ষেপণ) খুঁজছি।
আমি নেট নিয়ে গবেষণা করছি এবং নিম্নলিখিত প্রযুক্তিগুলির উল্লেখগুলি নিয়ে এসেছি:
- ভাগ করা মেমরি
- পাইপ
- সারি
- পাশাপাশি ডিএমএ (ডাইরেক্ট মেমোরি অ্যাক্সেস) হিসাবে চিহ্নিত
তবে আমি তাদের সংশ্লিষ্ট পারফরম্যান্সগুলির যথাযথ বিশ্লেষণ খুঁজে পাইনি, কীভাবে সেগুলি জাএভিএ এবং সি / সি ++ উভয় ক্ষেত্রে প্রয়োগ করতে হবে (যাতে তারা একে অপরের সাথে কথা বলতে পারে), সম্ভবত পাইপগুলি যা আমি কীভাবে করব তা কল্পনা করতে পারি।
এই প্রসঙ্গে প্রতিটি পদ্ধতির অভিনয় এবং সম্ভাব্যতা সম্পর্কে কেউ মন্তব্য করতে পারেন? কার্যকর প্রয়োগের তথ্যের কোনও পয়েন্টার / লিঙ্ক?
সম্পাদনা / আপডেট
আমি এখানে যে মন্তব্য ও উত্তর পেয়েছি সেগুলি অনুসরণ করে আমি ইউনিক্স ডোমেন সকেট সম্পর্কে তথ্য পেয়েছি, যা মনে হয় কেবল পাইপের উপর দিয়ে নির্মিত হয়েছিল এবং আমার পুরো টিসিপি স্ট্যাকটি সংরক্ষণ করবে। এটি প্ল্যাটফর্ম নির্দিষ্ট, তাই আমি এটি জেএনআই বা জজ বা জুনিক্সকেটের সাথে পরীক্ষা করার পরিকল্পনা করছি ।
পরবর্তী সম্ভাব্য পদক্ষেপগুলি পাইপগুলির সরাসরি বাস্তবায়ন হবে, তারপরে ভাগ করা মেমরি, যদিও আমাকে জটিলতার অতিরিক্ত স্তর সম্পর্কে সতর্ক করা হয়েছে ...
আপনার সাহায্যের জন্য ধন্যবাদ