java - 在 Java 中模拟 6502 处理器时,对象开销重要吗? (使用包装器而不是原始类型)

标签 java performance memory emulation wrapper

我正在用 Java 编写一个模拟器(当前在 6502 处理器上工作),并且我计划对一些原始类型使用我自己的包装器,只是因为它使我能够更轻松地做一些事情。问题是,我计划模拟一个完整的 NES 控制台,并且 CPU 可以访问 65536 字节的内存。原始字节为 1 个字节,包装器至少为 8 个字节。创建 65536 字节(原始)与 65536 字节(包装)的数组将导致至少 8 倍的内存使用量,还不考虑寄存器等。不仅如此,我只能假设使用对象而不是原始类型会更慢。我现在想知道的是,既然现代处理器无论如何都有千兆内存,那么使用至少 8 倍的内存只是为了让自己更轻松一点(并且可能会稍微减小模拟器的大小)是不是很糟糕?或者我应该保持它的效率并只使用原始类型?

最佳答案

我怀疑 JVM 本身的内存占用将使您为 6502 模拟分配的任何内存都相形见绌

正如此类问题经常被引用的那样,

premature optimisation is the root of all evil

我会首先让您的实现正确,然后才确定您可以/应该进行的任何优化。

关于java - 在 Java 中模拟 6502 处理器时,对象开销重要吗? (使用包装器而不是原始类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16897217/

相关文章:

java - 骑士之旅 : not able to resolve

java - 在 Java 中将 Blob 转换为 bytea

java - Ehcache 正在为磁盘持久性创建不必要的时间戳目录

java 。通过单击按钮绘制形状的问题

c++ - 为什么这个应用程序没有像预期的那样消耗内存

ios - 传递 self 并在没有保留周期的闭包中返回它

android - 为什么当手指触摸屏幕时 Android 上的计时器更准确?

Java for 循环性能

php - PHP 中带有 'a' 选项的 fopen() 的效率

jquery - 重型 AJAX 应用程序中的 Firefox 特定内存增加