我目前正在用 Javascript 实现一个模拟器,模拟平台的内存模型相当复杂,所以我通过一组函数进行读写,例如:
var MRead = [];
ReadBiosSpace = function(addr) { return (EnableBios ? BIOS[addr] : ROM[addr]); };
for (i = 0; i <= 0xFF; i++) { MRead[i] = ReadBiosSpace; };
function Read(addr) { return MRead[addr](addr); };
因为显然 Read 和 Write 函数会被非常频繁地调用(每条指令至少一次,主要执行是Operators[Read(ProgramCounter)]()
)它们对性能非常敏感。
有没有可以做的性能优化?这是最好的方法吗?