- 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:
2025-06-28 03:21:46 +01:00
parent eaaefd1b07
commit 56d2abe17f
8 changed files with 105 additions and 121 deletions
+1
View File
@@ -0,0 +1 @@
disallowed-types = ["std::collections::HashMap", "std::collections::HashSet"]