วิธีที่เร็วที่สุด (เวลาแฝงต่ำ) สำหรับการสื่อสารระหว่างกระบวนการระหว่าง Java และ C / C ++
ฉันมีแอป Java ที่เชื่อมต่อผ่านซ็อกเก็ต TCP ไปยัง "เซิร์ฟเวอร์" ที่พัฒนาใน C / C ++ ทั้งแอพและเซิร์ฟเวอร์ทำงานบนเครื่องเดียวกันกล่อง Solaris (แต่เรากำลังพิจารณาที่จะย้ายไปยัง Linux ในที่สุด) ประเภทของข้อมูลที่แลกเปลี่ยนคือข้อความธรรมดา (ล็อกอินเข้าสู่ระบบ ACK จากนั้นไคลเอนต์ขอบางสิ่งบางอย่างการตอบกลับของเซิร์ฟเวอร์) แต่ละข้อความมีความยาวประมาณ 300 ไบต์ ขณะนี้เราใช้ Sockets และทุกอย่างก็โอเคอย่างไรก็ตามฉันกำลังมองหาวิธีที่เร็วกว่าในการแลกเปลี่ยนข้อมูล (เวลาแฝงที่ต่ำกว่า) โดยใช้วิธี IPC ฉันได้ทำการค้นคว้าทางเน็ตและได้ทำการอ้างอิงถึงเทคโนโลยีต่อไปนี้: หน่วยความจำที่ใช้ร่วมกัน ท่อ คิว รวมทั้งสิ่งที่เรียกว่า DMA (Direct Memory Access) แต่ฉันไม่พบการวิเคราะห์ที่เหมาะสมของการแสดงตามลำดับทั้งวิธีการใช้งานทั้งใน JAVA และ C / C ++ (เพื่อให้พวกเขาสามารถพูดคุยกันได้) ยกเว้นท่อที่ฉันสามารถจินตนาการได้ว่าจะทำอย่างไร ใครสามารถแสดงความคิดเห็นเกี่ยวกับประสิทธิภาพและความเป็นไปได้ของแต่ละวิธีในบริบทนี้ ตัวชี้ / …