I don't really have an answer to your final question, but I observe that J up through 6.01 uses the old-fashioned floating-point unit. 6.02 has a new compiler and I don't know about it, but I'd guess that it still uses the old floating-point unit for compatibility with antiquated CPUs.
If so, it's still using the PUSH/POP interface to the FPU. It's amazing to me how well the Intel CPUs have buried the overheads of this crappy interface. It would not be surprising that a newer processor family might do a better job, though. You can spend an entertaining few hours going over the instruction timings. Start at http://developer.intel.com/products/processor/manuals/index.htm and look at the Optimization Reference Manual. There are charts that show the latencies for the various instructions on the various architectures. Henry Rich ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
