home *** CD-ROM | disk | FTP | other *** search
/ Executor 2.0 / executorv2.0.iso / pc / dos / extra / docs / maillist / text / archive.94 / text0239.txt < prev    next >
Encoding:
Internet Message Format  |  1996-03-31  |  2.9 KB

  1. Received: from sloth.swcp.com (sloth.swcp.com [198.59.115.25]) by nacm.com (8.6.9/8.6.9) with ESMTP id XAA04556 for <executor@nacm.com>; Fri, 4 Nov 1994 23:22:50 -0800
  2. Received: from iclone.UUCP (uucp@localhost) by sloth.swcp.com (8.6.9/8.6.9) with UUCP id AAA01021 for nacm.com!executor; Sat, 5 Nov 1994 00:24:11 -0700
  3. Received: by iclone (NX5.67d/NX3.0M)
  4.     id AA14216; Sat, 5 Nov 94 00:01:31 -0700
  5. Date: Sat, 5 Nov 94 00:01:31 -0700
  6. From: "Mathew J. Hostetter" <iclone!mat@sloth.swcp.com>
  7. Message-Id: <9411050701.AA14216@iclone>
  8. To: executor@nacm.com
  9. Subject: Re: How to generate discussion
  10. Sender: Executor-Owner@nacm.com
  11. Precedence: bulk
  12.  
  13. >Does executor store the native code
  14. >it generates on disk or does it regenerate on every restart of the
  15. >program?
  16.  
  17. It generates native code every time the program is run.  68k code is
  18. only dynamically compiled as it is first executed, which is why you
  19. don't notice a huge lag on program start-up.
  20.  
  21. >It seems to me that such a comparison (say 486/66 running
  22. >the synthetic benchmarks vs IBM code on same benchmarks) would show
  23. >how much farther the synthetic CPU has to go before matching the
  24. >performance of compiled code for the IBM.
  25.  
  26. We don't have the source code to Speedometer, so we can't recompile it
  27. native for the x86.  Although the ratio of emulated speed to native
  28. speed is certainly an interesting number for me (the emulator author),
  29. absolute performance is what matters to the end user.  We can give
  30. people near-Quadra performance on a 486 DX/2 66, and that's good
  31. enough for most people.  For programs that spend time in the "ROMs",
  32. our performance is even better than these numbers indicate.
  33.  
  34. >In theory, it seems to me
  35. >that the synthetic CPU should be able to match the real one (it would
  36. >take alot of analysis... data flow and control flow analysis just like
  37. >in a real compiler/optimizer). Am I way off base here? Or is such
  38. >analysis too complicated for now?
  39.  
  40. "In theory" much is possible, but the analysis would be too extensive
  41. to perform at runtime.  Remember, we're emulating a big endian
  42. processor with 16 registers on a little endian processor with 8
  43. registers.  Maintaining a big endian memory image necessitates extra
  44. work, and full inter-block register allocation would (probably) be too
  45. slow to do at runtime.  A fair comparison might be an x86 version of
  46. the same benchmark coded in such a way as to maintain a big endian
  47. memory image.
  48.  
  49. >Are there reaons besides time
  50. >constraints that heavy optimization isn't performed and then the
  51. >results stored on disk?
  52.  
  53. No.  Dynamic compilation is responsive enough and our performance is
  54. good enough that we haven't allocated resources to opening this can of
  55. worms.  We *could* do this someday to augment our emulator's
  56. performance, and I would personally find such a project interesting,
  57. but for now that's low priority.
  58.  
  59. -Mat
  60. mat@ardi.com
  61.  
  62.