Speed improvement

Discussion of development and patch submission.
Post Reply
kastrioth
Posts: 2
Joined: Thu 29 Mar, 2018 5:16 pm

Speed improvement

Post by kastrioth » Sat 05 May, 2018 10:06 am

Hi, i wanted to ask about how PCEM emulates x86 cpu-s or it's just uses some kind of real time transcompiler who tranlslates old intructions to more efficient one in new x86 like core duo and newer cpus- and how much is room for speed improvements?

Thanks!

User avatar
omarsis81
Posts: 609
Joined: Thu 17 Dec, 2015 6:20 pm

Re: Speed improvement

Post by omarsis81 » Sun 06 May, 2018 12:32 am

How the emulator works, I have no idea, but you can take a look at the C code if you know something about programming.
As for the speed improvement, the owner of this project said that after this current release (after Apr 20th) she will start working on that subject, but that's gonna take some time, probably end of this year.

ecksemmess
Posts: 149
Joined: Wed 18 Mar, 2015 5:27 am

Re: Speed improvement

Post by ecksemmess » Sun 06 May, 2018 7:10 am

PCem's CPU emulation is powered by an interpreter (https://en.wikipedia.org/wiki/Interpreter_(computing)) and a dynarec (https://en.wikipedia.org/wiki/Dynamic_recompilation). The pre-486-class systems use the interpreter, the Pentium-class systems use the dynarec, and the 486-class systems allow you to choose between the two. There's not likely to be any room for improvement on the interpreter, but as the Pentium-class systems can't use it that's not much of a problem. The dynarec's performance can be improved, and Sarah has said that she plans to rewrite it extensively for v15 with an eye toward doing just that. So, no need to worry, we're in good hands! Have a little patience... ;)

kastrioth
Posts: 2
Joined: Thu 29 Mar, 2018 5:16 pm

Re: Speed improvement

Post by kastrioth » Sun 06 May, 2018 3:56 pm

Thanks for the info and yes i was mostly interested in P1 class of cpu-s especially since for 486 and under emulation speed is very good but i guess there is a room for more improvement in P1 class.

Post Reply