java - 是否有任何技术原因导致 Java 应用程序和 C++ 应用程序之间的吞吐量存在显着差异?

标签 java c++ networking network-programming

给定两个应用程序,一个是用 Java 编写的,另一个是用 C++ 编写的,是否有任何原因导致它们具有不同的网络吞吐量?就功能而言,这两个应用程序都相当简单且相同 - 它们只是打开一个套接字(假设是一个 UDP 套接字,为了论证)并开始写入相同的数据。

可以安全地假设两个应用程序都在相同的条件下运行 - 相同的硬件、两个端点上的相同操作系统、相同的网络、相同的配置设置等等。它确实尽可能地相同。也可以安全地假设两者都经过了类似的优化。

我想不出原因,但我可能忽略了一些事情,也许是 JVM 处理网络数据流量或与操作系统交互的方式。

在这一点上,这个问题主要是假设性的。这些应用程序不存在 - 我只是想确定是否有任何基于性能的理由来考虑一个环境而不是另一个环境。

最佳答案

大多数软件不会在这么快的网络(相对于 CPU 速度)上运行,所以这很重要。如果您想同时为数千个客户端提供服务,您可能会发现细微差别(假设两种实现都已完成适当数量的调优工作)。

关于java - 是否有任何技术原因导致 Java 应用程序和 C++ 应用程序之间的吞吐量存在显着差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6838484/

相关文章:

java - 在 Spring Application 中拥有 RestController 和 Controller 的最佳实践

c++ - 当 T 是 std::pair<std::hash 也支持的两种更简单的类型> 时,std::hash<T> 应该工作吗?

Python - Pycrypto - 通过网络发送加密数据

c++ - 将字符串解析为 LPCWSTR

networking - 可靠的udp广播库?

c++ - 是否有任何端口可用于向每个进程广播?

java - 如何在Java中验证Instagram实时API x-hub-signature?

java - 使用 jSoup 或其他库执行 JavaScript 后解析 HTML DOM

java - 如何在Java SWT中dragEnter期间获取源组件

c++ - GStreamer c++ - 在开始任何播放之前寻找