simeonpilgrim / nikon-firmware-tools

Tools used during the reversing of the Nikon firmware
172 stars 32 forks source link

Emulator - Profile and optimize emulation speed in multi-CPU mode #5

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
e.g.  we could dedicate one thread to the master clock and one thread to each 
chip, and use inter-thread communication to make sure everything remains in 
sync, but that will be even more complex

Original issue reported on code.google.com by vicnevicne on 27 Jun 2013 at 7:45

GoogleCodeExporter commented 9 years ago

Original comment by code...@gmx.de on 14 Jul 2013 at 6:05

GoogleCodeExporter commented 9 years ago
Looks not bad, but I noted that opened windows lower speed. For example, if one 
have CPU state window or memory window - it slows down.

Original comment by code...@gmx.de on 23 Aug 2013 at 12:43

GoogleCodeExporter commented 9 years ago
Using Emulator 2.43beta4 if I close "FR80 serial interfaces" window, Emulator 
speed in cps is 3x times higher: ~780000 cps instead of 245000. So this is a 
good point to optimize.

Original comment by code...@gmx.de on 24 Aug 2013 at 12:15

GoogleCodeExporter commented 9 years ago
Even with all closed windows "serial interfaces" Emulator speed reduces 3x 
times if Firmware comes to part where serial exchange between FR and TX goes on.

Original comment by code...@gmx.de on 28 Aug 2013 at 10:11

GoogleCodeExporter commented 9 years ago
I optimized screen emulation: was taking 25% CPU with Emulator both CPU 
"paused" just to show window. Now it shows CPU usage changing between 9%...13%, 
so in average 2x faster.

Original comment by code...@gmx.de on 20 Sep 2013 at 12:01

GoogleCodeExporter commented 9 years ago
Breakpoints optimizationadded: instead going through ArrayList from begining to 
the end and comparing PC, now there is a TreeMap and decision if "key" is 
inside is much faster.

Original comment by code...@gmx.de on 6 Dec 2013 at 4:48