For years Joey Tuttle has used the performance of (%. y) as a simple
measure of the performance of J releases. It has improved pretty steadily.
This surprised me, because I know where the gaussian-elimination code
is, and that code doesn't do much except C loops that do add and
subtract. I didn't see how improvements to the JE would have any effect
on (%. y). Not wanting to mess up a good story, I kept my doubts to myself.
Finally I understand. The code I had been looking at is used only for
rational matrices. The code for general (%. y) is a lovely little
recursive QR decomposition that does lots of memory allocation and calls
to internal J arithmetic functions. In fact, it's a pretty good
exercise of the computational side of the system. It's quite short but
uses general utilities so that it works on all fixed-precision numeric
types. Bravo to Roger. He builded better than he knew: it relies on +/
. * for most of the numeric work, and that code has now been polished so
well that it is the most efficient code in the system.
Long live Joey's benchmark!
Henry Rich
---
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm