0

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

4

2 回答 2

1

与此 CPU 的速度相比,您当前的机器要快得多,您真的不需要担心性能。您可能会不顾一切地编写非常糟糕的代码来解决这样的问题。:)

于 2013-06-03T12:57:00.507 回答
1

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

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

过早优化是万恶之源

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

于 2013-06-03T12:57:18.873 回答