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

Reply via email to