gpt4 book ai didi

java - RMI 有多快?

转载 作者:搜寻专家 更新时间:2023-11-01 01:39:05 25 4
gpt4 key购买 nike

我看到了问题:Communication between two separate Java desktop applications (答案:JGroups)我正在考虑使用 JavaGroups 或直接 RMI 来实现某些东西,但速度至关重要。我不会发送大量数据(MIDI 消息的内容,所以每个 3 个字节,不超过每三毫秒两条消息),这将全部在同一台机器上。 认为同一台物理机器上的 RMI/JGroups 会很慢是不是很愚蠢?

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

我想我真正的问题是:在 Java 中是否有任何通过比 TCP/IP 更快的东西进行应用程序间通信的选项?我的意思是已经在 J​​ava 中实现的东西,而不是我认为的 JNI 可能性d 需要实现 :)

我知道,不要过早优化等等,但安全总比后悔好。

最佳答案

are there any options for interapp communication in Java that go through something FASTER than TCP/IP?

不明显......据我所知。

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

获得更大吞吐量的方法是关注以下几点:

  • 减少应用程序所需的 RPC 数量;例如通过将它们组合得更粗粒度,并且

  • 寻找将同步交互转变为异步交互的方法;例如使用基于消息而非基于 RPC 的技术。

关于java - RMI 有多快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2068958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com