Welcome, Guest. Please login or register.

Author Topic: WinUAE speed changes!  (Read 10291 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: WinUAE speed changes!
« on: February 17, 2005, 01:37:54 AM »
I believe the JIT compiler is designed to produce code optimized for Pentium processors.

Your display adapter shouldn't make much of a difference one way or the other.

Trev
 

Offline Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: WinUAE speed changes!
« Reply #1 on: February 17, 2005, 04:56:04 AM »
@SHADES

Well, it's not a conspiracy against AMD. And it's not necessarily the instructions themselves but how the processors work internally and how they handle certain types of operations.

One has to make a choice, and Intel still has the most market share. I suppose the JIT could have been designed without optimizations, but then it would just be slow on every processor, not just AMD's.

Of course, I could be talking out my ass. ;-) I don't really know anything about dynamic recompilation. But anyone with enough motivation should be able to pick up the WinUAE source code and figure out why it's slower on processor B than it is on processor A. :-) From the looks of it, the optimizations in the JIT are about replacing expensive function calls with inline code and making simple choices about which instructions to generate (e.g. a single atomic register swap instruction versus a series of three moves using the stack, a temporary register, or a combination of the two).

It may actually be a case of the Intel processor having extended functionality that the AMD processor just doesn't have.

EDIT: Glaucus has a good point. As the JIT is generating code, the virus scanner is most likely scanning and rescanning those regions of memory. The end result is a serious hit not only from the scanning itself, but from context switches and general operating system overhead (by overhead, I mean all the things the operating system does to make multitasking possible). Contrary to what most people believe, it *is* possible to tune the Windows NT kernel. If you can't find your bottleneck in hardware, it may be something the kernel is doing that it shouldn't be doing or vice versa. I highly recommend Windows Internals Fourth Edition by Russinovich and Solomon.

Trev
 

Offline Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: WinUAE speed changes!
« Reply #2 on: February 17, 2005, 11:03:42 PM »
@umisef

>> Of course, I could be talking out my ass
>
> :) You are ;)

He he. Sometimes, it just won't stop flapping. :-P So much to learn! But it never hurts to try and reason things out on your own. I do, however, make a mean bowl of oatmeal, so at least I have that. :-)

By a 1:1 memory mapping, do you mean as done by the operating system's virtual memory manager? Or the JIT engine itself?

Slightly off topic, but how difficult would it be to modify the JIT to support (i.e. work around) the new no execute flag? A simple change in the OS-specific memory allocation flags?

Trev
 

Offline Trev

  • Hero Member
  • *****
  • Join Date: May 2003
  • Posts: 1550
  • Country: 00
    • Show all replies
Re: WinUAE speed changes!
« Reply #3 on: February 19, 2005, 02:07:23 AM »
Quote
It just goes to show you how BAD windows really is and it's just another reason I now have to hope Hyperion hurry up a little and bring out OS4 because I no longer want to run this garbage.


Not sure I see the logic in that. . . .