当前位置:  开发笔记 > 编程语言 > 正文

RMI有多快?

如何解决《RMI有多快?》经验,为你挑选了1个好方法。

我已经看到了这样一个问题:两个独立的Java桌面应用程序之间的通信(答案:JGroups),我正在考虑用JavaGroups或直接RMI实现某些东西,但速度至关重要.我不会发送大量数据(MIDI消息的内容,每个3个字节,不过每三毫秒说两个消息),这将全部在同一台机器上.认为同一台物理机上的RMI/JGroups会慢吗?

(我的想法是我承受不起超过1毫秒的延迟,因为我已经有了一些,但我不确定如何在这种情况下最好地谈论速度.)

我想我真正的问题是:Java中的interspp通信是否有任何选项可以通过比TCP/IP更快的速度?我的意思是已经用Java实现的东西,而不是我需要实现的JNI可能性:)

我知道,不要尽早优化所有这些,但也比抱歉更安全.



1> Stephen C..:

Java中的interspp通信有没有比TCP/IP更快的选择?

没有显着... AFAIK.

但我认为你正在以错误的方式思考这个问题.假设您正在移动小消息,主要的性能杀手将是进行调用的开销,而不是移动字节的速度.这些开销包括进行系统调用所需的时间,在客户端和服务器端切换进程上下文,在内核中处理消息包头以及路由数据包等.任何类似RPC的同步交互都需要拨打电话等待回复; 即应用程序 - >服务器 - >往返时间.

获得更高吞吐量的方法是关注以下内容:

减少应用程序所需的RPC数量; 例如,将它们组合成更粗粒度的,和

研究将同步交互转变为异步交互的方法; 例如,使用基于消息而不是基于RPC的技术.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有