Page 1 of 1

Speed improvement

Posted: Sat 05 May, 2018 10:06 am
by kastrioth
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!

Re: Speed improvement

Posted: Sun 06 May, 2018 12:32 am
by omarsis81
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.

Re: Speed improvement

Posted: Sun 06 May, 2018 7:10 am
by ecksemmess
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... ;)

Re: Speed improvement

Posted: Sun 06 May, 2018 3:56 pm
by kastrioth
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.