- optimised main emulator loop, allowing updates only once every roughly 32,000 instructions.
- optimised memory access patterns, removing unecessary mutability and accesses.
- replaced the standard HashMap with an implementation that uses a faster hashing algorithm.
results:
before:
- our benchmark program with ~4m instructions would take around for their data to make it to the UI, and a bit over 200ms to actually run
after:
- our benchmark program with ~4m instructions can run in around 75ms, and the UI receives the update almost instantly.
conclusion:
- emulator performance should be around 2-3x faster than before.
This commit is contained in:
+2
-1
@@ -19,10 +19,11 @@ assembler = { path = "../assembler" }
|
||||
dsa_editor = { path = "../dsa_editor" }
|
||||
egui = "0.31.1"
|
||||
dirs = "6.0.0"
|
||||
discord-presence = { version = "1.6.0", optional = true }
|
||||
discord-presence = { version = "2.0.0", optional = true }
|
||||
toml = { version = "0.8.23", optional = true }
|
||||
serde = { version = "1.0.219", features = ["derive"], optional = true }
|
||||
egui_file = "0.22.1"
|
||||
rustc-hash = "2.1.1"
|
||||
|
||||
[features]
|
||||
default = ["config"]
|
||||
|
||||
Reference in New Issue
Block a user