J'ai vu la question: Communication between two separate Java desktop applications (réponse: JGroups) et je pense à implémenter quelque chose avec JavaGroups ou RMI mais la vitesse est essentielle. Je n'envoie pas de grandes quantités de données (contenu de messages MIDI, donc 3 octets chacun, pas plus de deux messages toutes les trois millisecondes) et tout sera sur la même machine. Est-il stupide de penser que RMI/JGroups sur la même machine physique sera lent?À quelle vitesse RMI peut-il être?
(Ma pensée est que je ne peux pas se permettre plus de 1ms de temps d'attente, puisque je l'ai déjà eu quelques-uns, mais je ne suis pas sûr de savoir comment mieux parler de la vitesse dans ce contexte.)
Je suppose que ma vraie question est: y at-il des options pour la communication interapp en Java qui passent par quelque chose de plus rapide que TCP/IP? Je veux dire des choses déjà implémentées en Java, pas des possibilités JNI que je devrais implémenter :)
Je sais, ne pas optimiser tôt et tout ça, mais aussi mieux prévenir que guérir.
Merci Stephen, je pense que c'est juste et une excellente réponse. Je ne parlerais pas de manière bidirectionnelle: un programme utiliserait l'autre programme pour entrer dans un contexte d'application (l'hôte VST, désolé de la terminologie inventée) à partir duquel il n'était pas exécuté. De plus, alors que dans mon cas particulier, seul un tout petit peu d'agrégation est possible (messages nécessaires à mesure qu'ils arrivent), je pense que vous avez raison sur l'agrégation et la synchronisation asynchrone. –